Golang开发-数组的使用

声明

var array_name [array_size] data_type
//var arr [10] int 

初始化
如果array_size>len(arr),则将会用“零值”来补

var arr= [10] int {1,2,3,4,5,6,7,8,9}

等同于:

arr := [10] int {1,2,3,4,5,6,7,8,9}

代码举例:

package main
import  "fmt"
func main() {
    var arr= [10] int {1,2,3,4,5,6,7,8,9}
	var i int
	for i=0; i<len(arr);i++{
	fmt.Println(arr[i])
	}
}
/*
1
2
3
4
5
6
7
8
9
0
*/

多维数组

//声明
var array_name [array_ncols][array_nrows] data_type
//初始化
arr := [2][3] int{
	{1,2,3},
	{4,5,6},
}

数组作为参数传递给函数

1.形参设定数组大小

func mytest(arr_name [arr_size]data_type)

2.形参不设定数组大小

func mytest(arr_name []data_type)

package main
import  "fmt"
func main(){
	a:= [5] int {1,4,7,9,34}
	fmt.Println("The max number is:",mymax(a))
}

func mymax(arr [5] int) int{
	var i,res int
	for i=0;i<len(arr);i++{
		if (res>arr[i]){
			res=res
		}else{
			res=arr[i]
		}
	}
	return res
}
//The max number is: 34

注意:数组作为函数参数和传递给函数的数组要对应一致!比如:
mymax(arr [] int) int则会报错:

cannot use a (type [5]int) as type []int in argument to mymax

你可能感兴趣的:(go,golang)