Go中数组的使用

2021-05-19 12:30

阅读:474

标签:维数   ===   长度   pac   UNC   数组   for   支持   初始化   

// code_012_array_element project main.go package main import ( "fmt" ) func modify(array [5]int) { array[0] = 10 fmt.Println("In modify(), array values:", array) } func modify01(array01 *[5]int) { (*array01)[0] = 10 fmt.Println("In modify(), array01 values:", *array01) } func main() { // var n int = 10 // var a[n]int //数组长度不能为变量 var a [10]int //ok for i, v := range a { fmt.Println("a[", i, "]=", v) } fmt.Println("================================") //内置函数len长度和cap容量 z := [10]int{} fmt.Println(len(z), cap(z)) fmt.Println("================================") //初始化 b := [3]int{1, 2} //未初始化的元素值为0 c := [...]int{1, 2, 3, 4} d := [5]int{2: 100, 4: 200} fmt.Println(b, c, d) fmt.Println("================================") //支持多维数组 e := [4][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}} f := [...][2]int{{10, 11}, {20, 21}, {30, 31}, {40, 41}} //第二维不能写... g := [4][2]int{1: {20, 21}, 3: {40, 41}} h := [4][2]int{1: {0, 20}, 3: {1: 41}} fmt.Println(e, f, g, h) //相同类型的数组之间可以使用 == 或 != 进行比较,但不可以使用 ,也可以相互赋值 fmt.Println("================================") //函数间传递数组 //在函数之间传递变量的时候,总是以值的方式传递的。 //如果这个变量是一个数组,意味着整个数组,不管有多长,都会完整复制,并传递给函数。 array := [5]int{1, 2, 3, 4, 5} modify(array) fmt.Println("In main(), array values:", array) //数组指针做函数参数: array01 := [5]int{1, 2, 3, 4, 5} // 定义并初始化一个数组 modify01(&array01) // 数组指针 //In main(), array values: [10 2 3 4 5] fmt.Println("In main(), array01 values:", array01) }

执行结果如下:

a[ 0 ]= 0
a[ 1 ]= 0
a[ 2 ]= 0
a[ 3 ]= 0
a[ 4 ]= 0
a[ 5 ]= 0
a[ 6 ]= 0
a[ 7 ]= 0
a[ 8 ]= 0
a[ 9 ]= 0
================================
10 10
================================
[1 2 0] [1 2 3 4] [0 0 100 0 200]
================================
[[10 11] [20 21] [30 31] [40 41]] [[10 11] [20 21] [30 31] [40 41]] [[0 0] [20 21] [0 0] [40 41]] [[0 0] [0 20] [0 0] [0 41]]
================================
In modify(), array values: [10 2 3 4 5]
In main(), array values: [1 2 3 4 5]
In modify(), array01 values: [10 2 3 4 5]
In main(), array01 values: [10 2 3 4 5]

Go中数组的使用

标签:维数   ===   长度   pac   UNC   数组   for   支持   初始化   

原文地址:http://blog.51cto.com/13914991/2293835


评论


亲,登录后才可以留言!