Go/复合数据类型/数组

# 一维数组的定义与初始化

func test(){
	var a [5]int

	var a2 [5]int = [5]int{1,2,3,4,5}

	a3 := [5]int{1,2,3}

	a4 := [5]int{2:2,4:4}

	fmt.Println(a)
	fmt.Println(a2)
	fmt.Println(a3)
	fmt.Println(a4)
}
=========
[0 0 0 0 0]
[1 2 3 4 5]
[1 2 3 0 0]
[0 0 2 0 4]

# 二维数组初始化

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

	a1 := [3][4]int{{1,2},{1,2,3,4},{1}}

	a2 := [3][4]int{1:{1,2}}

	fmt.Println(a)
	fmt.Println(a1)
	fmt.Println(a2)
}
==========
[[0 0 0 0] [0 0 0 0] [0 0 0 0]]
[[1 2 0 0] [1 2 3 4] [1 0 0 0]]
[[0 0 0 0] [1 2 0 0] [0 0 0 0]]

# 数组遍历

	for i := 0; i < len(a2); i++ {
		for j := 0; j < len(a2[i]); j++ {
			fmt.Print(a2[i][j])
			fmt.Print(" ")
		}
		fmt.Println()
	}

# 数组的赋值与比较

	a := [3]int{1,2,3}
	b := [3]int{1,1,1}
	var c [3]int = a
	fmt.Println(a == c)
	fmt.Println(b == c)
===================================
true
false

# 数组作为函数参数是值传递  数组指针传递

func test1(a [3]int){
	a[0] = 333
	fmt.Println(a)
}

func test3(p *[3]int){
	(*p)[0]=333
}


a := [3]int{1,2,3}
test1(a)
test3(&a)

猜你喜欢

转载自blog.csdn.net/qq_24243483/article/details/84075054