funcmain() { a := [...]float64{67.7, 89.8, 21, 78} fmt.Println("length of a is",len(a))
}
运行结果:
1
length of a is 4
您甚至可以忽略声明中数组的长度并将其替换为…让编译器为你找到长度。这是在下面的程序中完成的。
示例代码:
1 2 3 4 5 6 7 8 9 10
package main
import ( "fmt" )
funcmain() { a := [...]int{12, 78, 50} // ... makes the compiler determine the length fmt.Println(a) }
遍历数组:
1 2 3 4 5 6 7 8 9 10
package main
import"fmt"
funcmain() { a := [...]float64{67.7, 89.8, 21, 78} for i := 0; i < len(a); i++ { //looping from 0 to the length of the array fmt.Printf("%d th element of a is %.2f\n", i, a[i]) } }
使用range遍历数组:
1 2 3 4 5 6 7 8 9 10 11 12 13
package main
import"fmt"
funcmain() { a := [...]float64{67.7, 89.8, 21, 78} sum := float64(0) for i, v := range a {//range returns both the index and value fmt.Printf("%d the element of a is %.2f\n", i, v) sum += v } fmt.Println("\nsum of all elements of a",sum) }
如果您只需要值并希望忽略索引,那么可以通过使用_ blank标识符替换索引来实现这一点。
1 2
for _, v := range a { //ignores index }
1.3 多维数组
Go 语言支持多维数组,以下为常用的多维数组声明语法方式:
1
var variable_name [SIZE1][SIZE2]...[SIZEN] variable_type
funcmain() { a := [...]string{"USA", "China", "India", "Germany", "France"} b := a // a copy of a is assigned to b b[0] = "Singapore" fmt.Println("a is ", a) fmt.Println("b is ", b) }
运行结果:
1 2
a is [USA China India Germany France] b is [Singapore China India Germany France]