Go数据结构破冰之路-(一)数组和队列

数组(定长,值传递)


数组声明
// 只声明不赋值
var arr [10]int //长度为10的整型数组

// 声明并赋值
arr1 := [3]int{1,2,3} //长度为3的整型数组,赋值{1,2,3}
arr2 := [...]int{1,2,3,4,5} //赋值{1,2,3}, 由编译器计算长度为5的整型数组

// 声明二维数组
var plane [3][5]int // 3行5列的整型二维数组
数组遍历
// 第一种
for i := 0; i < len(arr), i++{
    fmt.Println(i, arr[i])
}

// 第二种
for i, v := range arr {
    fmt.Println(i, v)
}

切片(不定长,引用传递)


切片声明
// make([ ]Type, length, capacity)
s := make([]int, 1)
s1 := make([]int, 5)
动态扩容
for i := 0;i < 11; i++{
    s = append(s, i)
}
切片分割
// 取s[2,8)
s2 := s[2:8]

你可能感兴趣的:(golang数据结构)