版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/haeasringnar/article/details/84494662
package main
import (
"fmt"
)
func myPrint(a [5]int) {
fmt.Printf("len=%d cap=%d v=%v \n", len(a), cap(a), a)
}
func main() {
// 创建一个指定长度的数组
var arr1 [5]int
myPrint(arr1)
// 创建一个指定的长度的数组,并为这个数组赋初值
var arr2 = [5]int{1, 2, 3, 4, 5}
myPrint(arr2)
// 创建一个数组,后面再赋值
var arr3 [5]int
arr3 = [5]int{6, 7, 8, 9, 10}
myPrint(arr3)
// 创建一个不指定长度的数组
var arr4 = [...]int{1, 3, 5, 7, 9, 11}
// myPrint(arr4) //错误的传入方式,因为定义的函数已经确定了只能上传长度为5的int数组
fmt.Println(arr4)
// 创建多维数组
var arr5 = [3][3]int{
{1, 2, 3},
{4, 5, 6},
{7, 8, 9},
}
fmt.Printf("len=%d cap=%d v=%v \n", len(arr5), cap(arr5), arr5)
}
在go语言中,数组和切片是很相似,但又有很大差别的存在,后面会介绍到go语言中数组和切片的异同