03.Go-语言数组

声明数组
var variable_name [SIZE] variable_type

初始化数组

1
var balance = [5]float32{1000.0, 2.0, 3.4, 7.0, 50.0}`

初始化数组中 {} 中的元素个数不能大于 [] 中的数字。
如果忽略 [] 中的数字不设置数组大小,Go 语言会根据元素的个数来设置数组的大小:

1
var balance = [...]float32{1000.0, 2.0, 3.4, 7.0, 50.0}

以下演示了数组完整操作(声明、赋值、访问)的实例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package main

import "fmt"

func main() {
var n [10]int /* n 是一个长度为 10 的数组 */
var i,j int

/* 为数组 n 初始化元素 */
for i = 0; i < 10; i++ {
n[i] = i + 100 /* 设置元素为 i + 100 */
}

/* 输出每个数组元素的值 */
for j = 0; j < 10; j++ {
fmt.Printf("Element[%d] = %d\n", j, n[j] )
}
}

二维数组

1
var arrayName [x][y] variable_type

实例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package main

import "fmt"

func main() {
/* 数组 - 5 行 2 列*/
var a = [5][2]int{ {0,0}, {1,2}, {2,4}, {3,6},{4,8}}
var i, j int

/* 输出数组元素 */
for i = 0; i < 5; i++ {
for j = 0; j < 2; j++ {
fmt.Printf("a[%d][%d] = %d\n", i,j, a[i][j] )
}
}
}

Go 语言向函数传递数组

如果你想向函数传递数组参数,你需要在函数定义时,声明形参为数组的两种方式

1
2
3
4
5
6
7
8
9
10
11
12
13
void myFunction(param [10]int)
{
.
.
.
}

// 或者

void myFunction(param []int)
{
...
}