go 数组 切片 字典 结构体

数组

##数组的定义与赋值: 1. var num [3]int
                                     num = [3]int{1,2,3}

                                  2. var num [3]int = [3]int {1,2,3}

                                  3. num := [3]int{1,2,3}

                                  4. num :=[...]int{1,2,3}

                                  5. num :=[...]int{4:20,7:11} //定义下表为4的值是20,下表为7的值是11  

切片

切片的定义与赋值: 1. primes := [8]int{1,2,3,4,5,6,7,8} //先定义赋值出一个数组
var sum []int = primes[1:4] //再对此数组进行切片 定义切片[1:4]表示切片切的原数组中的[1]int到[3]int 是4-1=3个数
// 故sum 打印出是 [1 2 3]

                                   2. var sum []int = make([]int,len)   //len是长度  切片定义

                               3. sum :=[] int{1,2,3}    /切片的初始化
   ##注意点
       切片其实是复制了原本数组的地址(如果此切片是对一个数组进行切断而得到的),在切片上改变值,就是在数组中对应的地址上改变值,则数组和其他切断数组的切片的相应改变的值都会随之改变。  即切片就是对数组地址的复用

原文地址:https://www.cnblogs.com/guojiayi/p/10474529.html

时间: 2024-10-04 02:39:01

go 数组 切片 字典 结构体的相关文章

黑马程序员---C基础12【结构体数组】【结构体指针】【结构体嵌套】【作为函数参数】【枚举类型】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [结构体数组] 1.结构体数组: 结构体数组的每一个元素都是具有相同结构类型的下标结构变量:(可以表示一个群体,一个班学生档案) 2.结构数组定义: 定义格式: struct    结构名{ 成员列表: }数组名[数组长度]: 1 1)定义结构体的同时定义数组: 2 3 struct stu{ 4 5 int num; 6 7 char name[10]; 8 9 int age; 10 11

2015.12.13 二维数组 函数指针 结构体

先说一下指针的用途:1.访问函数,在函数内部需要改变外部传入内部的值:2.函数中需得到一个连续存储空间的首地址:3.动态分配内存,需要记录分配内存的首地址.说穿了,指针的用途就是和地址相关的. 二维数组 定义方法 ①int temp1 [2][3] = {}; 第一个中括号是“行”,第二个中括号是“列”. ②int temp2 [][3] = {1,2,3,4,5,6}; “列数”不需要明确指出. ③int temp3 [2][3] = {1,2,3,4}; 后两个元素为0. char *nam

c语言基础常用字符串数组函数与结构体

字符串常用函数 printf("%d",sizeof(arr));//可查看数组arr所占用的内存(一个int占4位,char占一位) strcpy(arr1,arr2); 将arr2中的内容拷贝到arr1中:arr1的内存需大于arr2 strcmp(arr1,arr2): 逐个比较,若arr1>arr2 返回1: arr1=arr2 返回0: arr1<arr2 返回-1 strcat(arr1,arr2)字符串拼接 目的字符串数组大于两个字符串总和: strlen 从

Golang 数组 切片 字典 基本知识点

数组 数组的声明 var arrayName [arraySize]dataType eg: var array1 [5]int 在声明数组时,必须指定数组名,数组长度和数组元素的类型. 数组的初始化 当数组定义好以后,如果没有给数组元素指定值,则所有元素被自动初始化为类型所对应的零值 var array1 [5]int // [0 0 0 0 0] 变量的类型零值 在Go语言中,当一个变量被定义为某一种类型后,Go语言会自动初始化其值为零(Zero Value) 零值并不等于空值,而是当变量被

Go-常识补充-切片-map(类似字典)-字符串-指针-结构体

目录 Go 常识补充 Go 命名 打印变量类型科普 _ 关键字 命名规范相关 包目录规范 切片 多维切片 切片初始化的方法 多维切片初始化 切片删除元素(会略微影响效率 ,少用) copy 函数 打散切片 循环打印多维切片 Map (类似 python 字典) map 定义及初始化 赋值.取值.改值 map 删除元素.参数传递 map 相等比较.循环遍历 字符串 字符串的定义.长度.遍历字节.字符 指针 向函数传递指针参数 传递数组指针 (最好是用切片) 结构体 结构体零值 匿名结构体 结构体指

结构体指针数组和结构体数组指针的区别

对于初学者的我来说,面对又是数组又是结构体还有指针,一下子就蒙了,在网上查找资料也没有相应的介绍,经过我的测试终于明白了其中的猫腻:结构体数组指针 *[]struct:结构体数组指针的指针是数组的指针,即表示数组的地址,数组里面存放的是结构体类型结构体指针数组 []*struct:即指针表示结构体的地址,数组里面存放的是结构体的指针有什么解释不对的地方请指正 代码测试:package mainimport ( "fmt") type XCDataStu struct { Id int

关于数组、结构体的初始化{0}

关于数组.结构体的初始化 一直以来,初始化变量和数组常采用定义时赋值的方法,今天在定义一个结构体的时候发现了一些问题,查了下相关资料发现以往的使用确实有些误区,一直没有注意到,于是搜集了下零散的资料在此记录一下. 一.以往常用的初始化方式: 1 int a=0; /*a初始化为0*/ 2 int b[10]={0}; /*b中全部元素初始化为0*/ 想必一直这样使用也确实不会发现问题,按照惯性思维,把0换成1就是把全部元素初始化为1了!然而事实却并非如此,请看下面这段代码↓ 1 #include

C#结构体和字节数组的转换函数

在通信过程中,一般我们都会操作到字节数组.特别是希望在不同语言编程进行操作的时候. 虽然C#提供了序列化的支持,不用字节数组也行.但操作字节数组肯定会碰到. 一般都会采用结构来表示字节数组.但结构与字节数组直接的转换实在很麻烦. 字节操作不但容易出错,而且每增加一个结构,就自己实现一遍,实在是烦不胜烦. 有没有简单的方法呢?当然有.可以采用非托管区的一些方法来实现. 首先,导入命名空间:System.Runtime.InteropServices; 定义结构的时候,要给结构指定特性. 如: //

黑马程序员-----结构体数组

------<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培训..Net培训</a>.期待与您交流! ----- 第一讲  结构体数组 一.结构体数组的概念       数组的元素也可以是结构类型的.因此可以构成结构型数组.结构数组的每一个元素都是具有相同结构类型的下表结构变量.在实际应用中,经常用结构数组来表示具有相同数据结构的一个群体.如一个班的学生