其他
Go语言核心手册-2.数组和切片
var a[4]int
b := [4]int{2, 4}
c := [...]int{2, 4}
func test(x *[2]int) {
x[1] += 1
}
func main() {
a := [2]int{2, 3}
test(&a)
}
func main() {
x,y := 1, 2
a := [...]*int{&x, &y} // 元素为指针的指针数组
p := &a // 存储数组地址的指针
}
2.2 切片
s1 := make([]int, 4, 6)
s2 := []int{10,20,30,40,50,60}
2.2.2 nil和空切片
var slice []int
silce := make([]int , 0)
slice := []int{}
2.2.3 切片扩容
func main() {
array := [4]int{10, 20, 30, 40}
slice := array[0:2] // 10 20
newSlice := append(slice, 50) // 10 20 50
newSlice[1] += 10 // 10 30 50
// 这里slice=[10 30],array=[10 30 50 40],入坑!!!
}
2.2.4 切片遍历