查看上一篇go基础知识排坑请点我
go的数据类型其实网上又好多文章,不过为了加深印象,自己再写一遍。
相比于python有点复杂,没图说个XX,所以又费了好几万的脑细胞画了个图
其他类型就不讲了,这里只讲高级数据类型。。。
数组是一组具有相同类型的数据集合,数组内数据可以重复,数组长度固定,定义好了不可以更改
1)定义 var variable_name [SIZE] variable_type 如:var arr [4] int 2)初始化 var arr = [5] int {1, 2, 3, 4, 5} 3)支持多维数组 var arr = [3][4]int{ {0, 1, 2, 3} , {4, 5, 6, 7} , {8, 9, 10, 11}}发现个奇怪的现象
package main import ( "fmt" ) //这样是没问题的 func main() { var arr = [3][4]int{ {0, 1, 2, 3} , {4, 5, 6, 7} , {8, 9, 10, 11}} fmt.Println(arr[1][1]) } //把外层括号单独拿到下一层就会报错 func main() { var arr = [3][4]int{ {0, 1, 2, 3} , {4, 5, 6, 7} , {8, 9, 10, 11} } fmt.Println(arr[1][1]) } //把外层括号单独拿到下一层但是在结尾加上逗号就可以了 func main() { var arr = [3][4]int{ {0, 1, 2, 3} , {4, 5, 6, 7} , {8, 9, 10, 11}, } fmt.Println(arr[1][1]) }ps:SIZE可以省略,当SIZE存在且大于数组内数据个数时,系统会在数组末尾自动补齐该类型默认值(int默认补0,string默认补"")
查看下一篇指针类型请点我