Go基础 - 数组,切片,映射,构建存储
- Go语言创建数组:
1 | var notes [7] string //创建一个由7个字符串组成的数组,未定义的数组值为0 |
- Go语言切片机制
切片允许我们在结尾添加更多的元素
1 | var numbers []float64 //切片 |
声明切片变量后并不能自动创建一个切片,为此可以使用make函数传递给make想要创建的切片的类型。
1 | var numbers []float64 //切片 |
利用append可以在切片后面添加元素
1 | slice := []string{"a", "b"} |
与数组一样,如果访问到了切片中没有赋值的元素,将会得到那个元素的类型对应的零值。
与数组不同的是,切片本身自己也有0值,nil。一个没有赋值的切片变量值为nil。
函数中的...
表示变长数组。
os.Args可以对当前程序执行的命令行参数进行切片分割。
- Go语言映射
1 | var myMap map[string]float64 //定义一个映射类型,键的类型是string,值的类型是float64 |
映射变量的零值和未赋值均为nil
为了区分一个键是被赋值为零值还是未赋值,访问键的时候可以获取第二个布尔类型的值
1 | var value int |
删除键值对使用delete函数
1 | delete(ranks, "bronzes") //删除ranks映射中所有和bronzes相关的键 |
对映射进行for range
循环:
1 | for key, value := range myMap //key保存对应的键,value保存对应的值,myMap表示需要处理的映射 |
Go语言管道机制:
go语言管道(channel)_两片空白的博客-CSDN博客_go 管道
1 | package main |
Channel作为返回值
1 | //返回一个channel,只能被接收数据 |
Go语言接口: