一、数组的声明与遍历
package main import "fmt" //声明数组的形式1 var arr [3]int var arr2 = [4]int{1, 2, 3, 4} func main() { // 声明数组的形式2 a := [4]float64{2.3, 4, 5, 6.1} fmt.Println(a) b := [...]int {2,3,4} //遍历数组方式1 for i:=0; i<len(a) ; i++ { fmt.Print(a[i] , "\t") } fmt.Println() //遍历数组方式2 for _,value := range b { fmt.Print(value , "\t") } //if arr == nil { // fmt.Println("arr==nil") //} fmt.Print("\n 遍历arr数组:") for _ , value := range arr { fmt.Print(value , "\t") } }
数组是值传递
package main import "fmt" func main() { a := [...] string{"a" , "b" , "c" , "d"} b := a b[0] = "x" fmt.Println("a" , a)//[a b c d] fmt.Println("b" , b)//[x b c d] }
二维数组在概念上是二维的,即是说其下标在两个方向上变化,下标变量在数组中的位置也处于一个平面之中,而不是象一维数组只是一个向量。但是,实际的硬件存储器却是连续编址的,也就是说存储器单元是按一维线性排列的。如何在一维存储器中存放二维数组,可有两种方式:一种是按行排列, 即放完一行之后顺次放入第二行。另一种是按列排列, 即放完一列之后再顺次放入第二列。
在GO语言中,二维数组是按行排列的。即,先存放a[0]行,再存放a[1]行,最后存放a[2]行。每行中元素也是依次存放。
1、二维数组的元素也称为双下标变量,其表示的形式为:
数组名[下标][下标]
2、其中下标应为整型常量或整型表达式。例如:
a[3][4] :表示a数组三行四列的元素。
package main import "fmt" func main() { var a = [5][3]int{ {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12},{13,14,15}} for i:=0; i<len(a) ;i++ { for j:=0;j<len(a[0]) ;j++ { fmt.Printf("a[%d][%d]=%d\n" , i , j , a[i][j]) } } }
原文:https://www.cnblogs.com/jalja/p/11780551.html