package main

import "fmt"

func main() {
	var id [50]int
	// 给数组赋值
	for i := 0; i < len(id); i++ {
		id[i] = i
		fmt.Printf("id[%d] = %d\n", i, id[i])
	}
}
package main

import "fmt"

func main() {
	var a [10]int
	var b [5]int
	fmt.Printf("len(a) = %d ,len(b) = %d", len(a), len(b))

	for i := 0; i < len(a); i++ {
		a[i] = i
	}
	for i, data := range a {
		fmt.Printf("a[%d] = %d\n", i, data)
	}
}

数组初始化赋值:

package main

import "fmt"

func main() {
	var a [5]int = [5]int{1, 2, 3, 4, 5}
	fmt.Println("a = ", a)

	b := [5]int{1, 2, 3, 4, 5}
	fmt.Println("b = ", b)

	c := [5]int{1, 2, 3}
	fmt.Println("c = ", c)

	d := [5]int{2: 10, 3: 12}
	fmt.Println("d = ", d)
}

二维数组赋值:

package main

import "fmt"

func main() {
	var a [3][4]int

	k := 0
	for i := 0; i < 3; i++ {
		for j := 0; j < 4; j++ {
			a[i][j] = k
			k++
		}
	}
	fmt.Println(a)

	b := [3][4]int{{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}
	fmt.Println(b)
	c := [3][4]int{{1, 2}, {5, 6}, {9, 10, 11, 12}}
	fmt.Println(c)
	d := [3][4]int{2: {9, 10, 11, 12}} // 只对第三个子数组赋值
	fmt.Println(d)
}

数组比较与赋值:

package main

import "fmt"

func main() {
	a := [5]int{1, 2, 3, 4, 5}
	b := [5]int{1, 2, 3, 4, 5}
	c := [5]int{1, 2, 3}

	fmt.Println("a == b", a == b)
	fmt.Println("a == c", a == c)

	c = a
	fmt.Println(c)
}

数组做函数参数:

package main

import "fmt"

func modify(a [5]int) {
	a[3] = 666
	fmt.Println("a = ", a)
}

func main() {
	a := [5]int{1, 2, 3, 4, 5}

	modify(a)
	fmt.Println("a = ", a)
}