Go语言学习笔记-数组、切片、map
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}
二维数组遍历:
- 可通过索引方式遍历
- 可使用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相关推荐
- c语言中void arrout,c语言学习笔记(数组、函数
<c语言学习笔记(数组.函数>由会员分享,可在线阅读,更多相关<c语言学习笔记(数组.函数(53页珍藏版)>请在人人文库网上搜索. 1.数组2010-3-29 22:40一维数 ...
- C语言学习笔记--数组指针和指针数组
C 语言中的数组有自己特定的类型,数组的类型由元素类型和数组大小共同决定.(如 int array[5]类型为 int[5]) 1.定义数组类型 C 语言中通过 typedef 为数组类型重命名:ty ...
- C语言学习笔记--数组参数和指针参数
1. 数组参数退化为指针的意义 (1)C 语言中只会以值拷贝的方式传递参数,当向函数传递数组时,将整个数组拷贝一份传入函数导致执行效率低下,C 语言以高效作是最初的设计目标,所以这种方法是不可取的. ...
- C语言学习笔记---数组和指针的区别
在平时使用数组和指针的时候,感觉他们的使用很类似.那么数字和指针在使用的过程中到底有什么区别呢? 下面通过一个例子来简单分析一下. char str1[] = "abcdef&quo ...
- Go语言学习笔记:3 map
一.语法基础 Go语言中 map的定义语法如下: map[KeyType]ValueType 1.KeyType:表示键的类型 2.ValueType:表示键对应的值的类型. map类型的变量默认初始 ...
- C语言如何加缓冲,C语言学习笔记之输出缓冲
在c语言中经常用到输出函数printf,当我们像往常一样在输出函数中输入我们的想要的输出的东西后加\n换行 验证结果如我们输出的一样 如果我们在后面加入死循环会不会出现这些语句呢 结果卡死了,可还是输 ...
- C语言学习笔记10-指针(动态内存分配malloc/calloc、realloc、释放free,可变数组实现;Tips:返回指针的函数使用本地变量有风险!;最后:函数指针)
C语言:指针 1. 指针:保存地址的变量 *p (pointer) ,这种变量的值是内存的地址. 取地址符& 只用于获取变量(有地址的东西)的地址:scanf函数-取地址符 地址的大小 ...
- C语言学习笔记09-数组、字符数组、字符串数组、二维数组(单字符输入输出putchar、getchar,字符串输入输出的scanf、gets、puts)
C语言数组 数组作用:可以用来保存很多记录(可以看成一种大容器).一些简单游戏也基本由数组实现,如游戏地图(二维数组)等等. 一个数组 划分 多个单元(下标区分) -存放-> 多个同类元 ...
- go get 拉取指定版本_go语言学习笔记-基础知识-3
相关文档 go语言学习笔记-目录 1.简介 1.1 什么是GO Go 是一个开源的编程语言,它能让构造简单.可靠且高效的软件变得容易.Go是从2007年末由Robert Griesemer, Rob ...
最新文章
- 深度学习中的优化算法之MBGD
- MyBatis入门示例
- python有趣代码-一个有意思的 Python 训练项目集
- Uncaught TypeError: Cannot read property ‘events‘ of undefined
- mysql 交叉统计_统计知识——交叉分组表
- Android -- WebView进度条
- C# WinForm开发系列 - 开篇
- python面对对象实验_实验题目:python面向对象程序设计
- sql server 2005 T-SQL @@TOTAL_WRITE (Transact-SQL)
- apk系统签名和发布软件签名的理解
- 《像混球那样思考和行动》
- 浏览器下载文件的方法总结
- linux 配制aria2
- 拯救者Y7000关闭的流程
- 17 内存规整(memory compaction)
- ios 黑魔法 解决问题
- 生成对抗网络(GAN)的18个绝妙应用
- 矩阵的基变换及对应基变换下向量的坐标变换
- Vulnhub:Digitalworld.local (Mercy v2)靶机
- marven简介与使用