Go语言学习笔记-数组、切片、map

数组:同一数据类型元素的集合。是值类型,长度固定无法修改

声明格式:var 数组名字 [元素数量] 数据类型

var arr [3] int //声明定义了一个长度为3的int类型数组

数组初始化

var a = [3] int {1,2,3}b := [...]string {"北京","上海","广州"} //三个点有解释器自己判断数组长度

数组遍历: for index, value := range 数组名

index:索引,下标
value:数值
如果只想取索引或者数值,可用匿名变量(没有名字的变量,其值将抛弃)

 var a  = [3] int {1,2,3}for _, n := range a{fmt.Println(n)   //输出123}

二维数组遍历

  1. 可通过索引方式遍历
  2. 可使用for range遍历
 a := [3][2]string{{"北京", "上海"},{"广州", "深圳"},{"成都", "重庆"},}for _, v1 := range a {for _, v2 := range v1 {fmt.Printf("%s\t", v2)}fmt.Println()}

切片 slice:引用类型,与数组类似,但是长度不固定,可变。
两个属性:
长度 len() :被赋过值的下标加1
容量cap():目前该切片最多可容纳最多元素个数

动态创建切片:make ([]切片类型,长度,容量)
长度可以暂时设定为0,容量可以省略由系统默认

sli := make([]int, 3, 10)

切片添加元素:append()方法

sli = append(sli, 1,2,3)

切片删除元素:Go语言没有专门的切片删除元素的方法。可以利用切片的原理进行元素删除。

sli = append(sli[: 0],sli[2:]...)
//前包后不包,删除了下标为0,1的元素
//后面三个点必须有

切片拷贝:copy()方法

copy(a, b)//将切片b的内容拷贝到a上

map:引用类型,无序的键值对(key-value)的数据类型,必须初始化才能使用。类似Python的字典(dict)。

定义:map[键类型] 值类型

可使用make方法初始化

m := make (map[string]int,10)// 10为容量

可使用for range 遍历map

for key, value := m

key: map的键

value:map的值

删除键值对:delect(map名字,map的键),索引到该键,删除该键值对

Go语言学习笔记-数组、切片、map相关推荐

  1. c语言中void arrout,c语言学习笔记(数组、函数

    <c语言学习笔记(数组.函数>由会员分享,可在线阅读,更多相关<c语言学习笔记(数组.函数(53页珍藏版)>请在人人文库网上搜索. 1.数组2010-3-29 22:40一维数 ...

  2. C语言学习笔记--数组指针和指针数组

    C 语言中的数组有自己特定的类型,数组的类型由元素类型和数组大小共同决定.(如 int array[5]类型为 int[5]) 1.定义数组类型 C 语言中通过 typedef 为数组类型重命名:ty ...

  3. C语言学习笔记--数组参数和指针参数

    1. 数组参数退化为指针的意义 (1)C 语言中只会以值拷贝的方式传递参数,当向函数传递数组时,将整个数组拷贝一份传入函数导致执行效率低下,C 语言以高效作是最初的设计目标,所以这种方法是不可取的. ...

  4. C语言学习笔记---数组和指针的区别

      在平时使用数组和指针的时候,感觉他们的使用很类似.那么数字和指针在使用的过程中到底有什么区别呢?   下面通过一个例子来简单分析一下. char str1[] = "abcdef&quo ...

  5. Go语言学习笔记:3 map

    一.语法基础 Go语言中 map的定义语法如下: map[KeyType]ValueType 1.KeyType:表示键的类型 2.ValueType:表示键对应的值的类型. map类型的变量默认初始 ...

  6. C语言如何加缓冲,C语言学习笔记之输出缓冲

    在c语言中经常用到输出函数printf,当我们像往常一样在输出函数中输入我们的想要的输出的东西后加\n换行 验证结果如我们输出的一样 如果我们在后面加入死循环会不会出现这些语句呢 结果卡死了,可还是输 ...

  7. C语言学习笔记10-指针(动态内存分配malloc/calloc、realloc、释放free,可变数组实现;Tips:返回指针的函数使用本地变量有风险!;最后:函数指针)

    C语言:指针 1. 指针:保存地址的变量 *p (pointer) ,这种变量的值是内存的地址.   取地址符& 只用于获取变量(有地址的东西)的地址:scanf函数-取地址符   地址的大小 ...

  8. C语言学习笔记09-数组、字符数组、字符串数组、二维数组(单字符输入输出putchar、getchar,字符串输入输出的scanf、gets、puts)

    C语言数组   数组作用:可以用来保存很多记录(可以看成一种大容器).一些简单游戏也基本由数组实现,如游戏地图(二维数组)等等.   一个数组 划分 多个单元(下标区分) -存放-> 多个同类元 ...

  9. go get 拉取指定版本_go语言学习笔记-基础知识-3

    相关文档 go语言学习笔记-目录 1.简介 1.1 什么是GO Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易.Go是从2007年末由Robert Griesemer, Rob ...

最新文章

  1. 深度学习中的优化算法之MBGD
  2. MyBatis入门示例
  3. python有趣代码-一个有意思的 Python 训练项目集
  4. Uncaught TypeError: Cannot read property ‘events‘ of undefined
  5. mysql 交叉统计_统计知识——交叉分组表
  6. Android -- WebView进度条
  7. C# WinForm开发系列 - 开篇
  8. python面对对象实验_实验题目:python面向对象程序设计
  9. sql server 2005 T-SQL @@TOTAL_WRITE (Transact-SQL)
  10. apk系统签名和发布软件签名的理解
  11. 《像混球那样思考和行动》
  12. 浏览器下载文件的方法总结
  13. linux 配制aria2
  14. 拯救者Y7000关闭的流程
  15. 17 内存规整(memory compaction)
  16. ios 黑魔法 解决问题
  17. 生成对抗网络(GAN)的18个绝妙应用
  18. 矩阵的基变换及对应基变换下向量的坐标变换
  19. Vulnhub:Digitalworld.local (Mercy v2)靶机
  20. marven简介与使用

热门文章

  1. kubernet安装helm
  2. Echarts动态地图实现
  3. 算法设计与分析复习--回溯法
  4. 定时器轮播图---(功能:自动轮播,左右箭头点击切换,点击圆点跳转图片)
  5. transforms.Compose和transforms.ToTensor()
  6. 3D设计软件中怎么画锥齿轮?浩辰3D设计实例
  7. 再议特斯拉“降价”,性价比还是不行!
  8. 小学生Python编程 ----- 打鸭子
  9. 一篇文让你秒懂CDN
  10. TIM基本定时器——定时