标签:
在go语言中数组array是一组特定长度的有序的元素集合。
go的数组类型由两部分组成——类型和长度,二者缺一不可。数组本来就是一块存储相同类型元素的连续内存空间,因此决定一个数组的类型,必然需要决定其存储元素的类型以及存储多少个元素。
在Go语言中,数组长度在定义后就不可更改。
数组是值类型,每次传递都将产生一份副本。
例子:
package main
import (
"fmt"
"strconv"
)
func main() {
var a [5]int //定义数组 5个整数型
fmt.Println("emp:", a) //整数型零值为0
a[4] = 100 //修改数组
fmt.Println("set:", a)
fmt.Println("get:", a[4]) //输出单个值
fmt.Println("len:", len(a)) //数组长度
b := [5]int{45, 32, 12, 42, 55} //定义数组 定义数组的值
fmt.Println("dcl:", b)
for z, y := range b { //遍历数组
fmt.Println("ran:", z, y)
}
var twoD [2][3]string //二维数组
for i := 0; i < 2; i++ { //循环
for j := 0; j < 3; j++ {
twoD[i][j] = strconv.Itoa(i) + "-" + strconv.Itoa(j) //修改数组
}
}
fmt.Println("2d: ", twoD)
}
输出:
emp: [0 0 0 0 0] set: [0 0 0 0 100] get: 100 len: 5 dcl: [45 32 12 42 55] ran: 0 45 ran: 1 32 ran: 2 12 ran: 3 42 ran: 4 55 2d: [[0-0 0-1 0-2] [1-0 1-1 1-2]]
数组几种初始化方式:
var a [10]int
var a = [10]int{0,1,2,3,4,5,6,7,8,9}
var a = [...]int{0,1,2,3,4,5,6,7,8,9}
var a = [2][2]int{[2]int{1,1}, [2]int{2,2}}
var a = [2][2]int{{1,1}, {2,2}}
标签:
原文地址:http://www.cnblogs.com/osfipin/p/4871237.html