查看上一篇go基础知识排坑请点我
go的数据类型其实网上又好多文章,不过为了加深印象,自己再写一遍。
相比于python有点复杂,没图说个XX,所以又费了好几万的脑细胞画了个图
其他类型就不讲了,这里只讲高级数据类型。。。
1.数组类型
数组是一组具有相同类型的数据集合,数组内数据可以重复,数组长度固定,定义好了不可以更改
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默认补"")
查看下一篇指针类型请点我