go的数组,一些常用的方法。
一、知识点
(1)直接上代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// testarray package main import ( "fmt" ) func main() { var arr [10]int // 声明了一个int类型的数组 arr[0] = 42 // 数组下标是从0开始的 arr[1] = 13 // 赋值操作 fmt.Println(arr[0]) // 获取数据,返回42 fmt.Println(arr[9]) //返回未赋值的最后一个元素,默认返回0 } |
看起来是不是很简单?
(2)那么就来加强一点
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// testarray package main import ( "fmt" ) func main() { a := [3]int{1, 2, 3} // 声明了一个长度为3的int数组 b := [10]int{1, 2, 3} // 声明了一个长度为10的int数组,其中前三个元素初始化为1、2、3,其它默认为0 c := [...]int{4, 5, 6} // 可以省略长度而采用`...`的方式,Go会自动根据元素个数来计算长度 fmt.Println(a) fmt.Println(b) fmt.Println(c) } |
换了一种声明数组的方式,直接给数组元素进行赋值,还是非常简单的。
(3)多维数组
1 2 3 4 5 6 7 8 9 10 11 12 13 |
// testarray package main import ( "fmt" ) func main() { doubleArray := [2][4]int{[4]int{1, 2, 3, 4}, [4]int{5, 6, 7, 8}} easyArray := [2][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}} fmt.Println(doubleArray) fmt.Println(easyArray) } |
注意:
- [2][4]int{}这个东西,其实可以想象成一个长方形。
- 因为数组是从0开始的,[2]就代表了0,1两个位置。
- 而[4]代表了0,1,2,3四个位置,所以可以想象成一个长方形。
很简单的数据结构,不是吗?
二、总结
记录一下。