Go 数组和切片
Go About 1,201 words数组
func main() {
// 创建数组,指定长度
// 类型为[5]int
var arr1 [5]int
arr1[0] = 1
fmt.Println(arr1)
arr2 := [5]int{1, 2, 3, 4, 5}
fmt.Println(arr2)
// key value方式,指定索初始化
var arr3 = [5]string{3: "third", 4: "last"}
fmt.Println(arr3)
arr4 := [...]int{11, 12, 13, 14, 15}
fmt.Println(arr4)
arr5 := [...]string{3: "aaa", 4: "xxx"}
fmt.Println(arr5)
// 创建数组,new
// 类型为*[5]int
var arr6 = new([5]int)
arr6[0] = 3
fmt.Println(arr6)
}
切片
func main() {
// 根据数组获取切片
arr := [...]int{1, 2, 3,4,5}
// 获取与数组等长的切片
s := arr[:]
// [1 2 3 4 5]
fmt.Println(s)
// 等同于前一个方式,直接获取与数组等长的切片
slice1 := []int{6, 7, 8, 9, 10}
// [6 7 8 9 10]
fmt.Println(slice1)
// 按索引初始化
slice2 := []string{5: "eee", 2: "bbb"}
// [ bbb eee]
fmt.Println(slice2)
// 6
fmt.Println(len(slice2))
// 6
fmt.Println(cap(slice2))
// 长度为5,容量为10
ints := make([]int, 5, 10)
fmt.Println(ints)
// 5
fmt.Println(len(ints))
// 10
fmt.Println(cap(ints))
var ar = [10]int{0,1,2,3,4,5,6,7,8,9}
var a = ar[10:]
// 0
fmt.Println(len(a))
// 0
fmt.Println(cap(a))
}
Views: 1,975 · Posted: 2020-11-04
————        END        ————
Give me a Star, Thanks:)
https://github.com/fendoudebb/LiteNote扫描下方二维码关注公众号和小程序↓↓↓
Loading...