Array

@爱耍流氓的唐僧  January 11, 2021

Array(数组)
数组是同一种数据类型元素的集合。 在Go语言中,数组从声明时就确定,使用时可以修改数组成员,但是数组大小不可变化。 基本语法:

var 数组变量名 [元素数量]T    
// 定义一个长度为5元素类型为int的数组a
var a [5]int

var a [5]int, 数组的长度必须是常量,并且长度是数组类型的一部分。一旦定义,长度不能变。 [5]int和[10]int是不同的类型,数组是值类型,赋值和传参会复制整个数组。因此改变副本的值,不会改变本身的值。
Go语言数组的初始化

package main
import "fmt"
func main()  {
    //Go语言中的函数传递都是值
    //数组的初始化,没有赋值之前int都是0,string是空
    var name [10]string
    fmt.Println(name)
    var ages [30]int
    fmt.Println(ages)
    //数组的赋值,数值是值类型
    ages = [30]int{1,2,3,4,5,6}
    fmt.Println(ages)
    var ages2 = [...]int{3,2,4,5,6,4,6,6}
    fmt.Println(ages2)
    //根据索引赋值
    var ages3 = [...]int{1:2,2:6,8:90}
    fmt.Println(ages3)
    //二维数组,多维数组只有最外层可用...
    a := [...][2]string{
        {"北京", "上海"},
        {"广州", "深圳"},
        {"成都", "重庆"},
    }
    fmt.Println(a) 
    fmt.Println(a[2][1]) 
}

输出:

[         ]
[0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[1 2 3 4 5 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0]
[3 2 4 5 6 4 6 6]
[0 2 6 0 0 0 0 0 90]
[[北京 上海] [广州 深圳] [成都 重庆]]
重庆

二维数组的遍历:

//数组的遍历
a1 := [3][2]string{
    {"北京", "上海"},
    {"广州", "深圳"},
    {"成都", "重庆"},
}
for _, v1 := range a1 {
    for _, v2 := range v1 {
        fmt.Printf("%s\t", v2)
    }
    fmt.Println()
}

输出:

北京    上海
广州    深圳
成都    重庆

添加新评论