赞
踩
数组就是把同一类元素放在一起的集合,相当于 python 的list
// 数组名 := [长度]类型[元素1,元素2,...]
a := [3]int{1, 2, 3}
p := new([10]int)
自动识别长度
a := […]int{1, 2, 3}
// 方法一
a := [...]int{1, 2, 3}
for i := 0; i < len(a); i++ {
fmt.Println(a[i])
}
// 方法二
for index, value := range a {
fmt.Println(index, value)
}
数组常用方法 len cap
len() 获取数组或切片的长度
cap() 获取数组或切片的容量
多维数组
// 创建了两个包含两个整形数组的数组
a := [...][2]int{
{123, 222},
{11, 22},
}
// 创建了两个含有两个字符串数组的数组
b := [2][2]string{
{"hello", "world"},
{"this", "is"},
}
数组长度固定,切片长度不固定
切片就是一个不固定长度的数组
a := []int{1, 2, 3, 4, 5}
b := []int{}
c := make([]int, 3, 6)
// 用 make 定义的切片,可以预定义 len cap
a := [...]int{1, 2, 3}
b := a[1:] // b 就是切片
b = append(b, 11)
b = append(b, 11, 23, 23)
b = append(b, 11)
fmt.Println(b)
fmt.Println(a)
// 切片名称 := make([]类型, len, cap)
c := make([]int, 3, 6)
fmt.Println(c, len(c), cap(c))
copy 方法
a := []int{1, 2, 3, 4, 5}
b := []int{9, 8, 7}
copy(a, b)
fmt.Println(a, b)
// [9 8 7 4 5] [9 8 7]
// 只复制到特定位置
a := []int{1, 2, 3, 4, 5}
b := []int{9, 8, 7}
copy(a[3:4], b)
fmt.Println(a, b)
// [1 2 3 9 5] [9 8 7]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。