Go-Array

作者: SodaCrush | 来源:发表于2021-03-21 23:20 被阅读0次

golang初始化数组

golang中数组为值类型

方式1:指定数组长度

func main() {
    var defaltArray [3]int                        //数组会初始化为int类型的零值
    var numArray = [3]int{1, 2}                 //使用指定的初始值完成初始化
    var strArray = [3]string{"python", "java", "golang"} //使用指定的初始值完成初始化
    fmt.Println(defaltArray)                     //[0 0 0]
    fmt.Println(numArray)                       //[1 2 0]
    fmt.Println(strArray)                      //[python java golang]
}

方式2:自行推断数组长度

func main() {
    var defaltArray[3]int
    var numArray = [...]int{1, 2, 3, 4}
    var strArray = [...]string{"python", "java", "golang"}
    fmt.Println(defaltArray)                        //[0 0 0]
    fmt.Println(numArray)                           //[1 2 3 4]
    fmt.Printf("type of numArray:%T\n", numArray)   //type of numArray:[2]int
    fmt.Println(strArray)                          //[python java golang]
    fmt.Printf("type of strArray:%T\n", strArray) //type of strArray:[3]string
}

方式3:指定索引并赋值

func main() {
    a := [...]int{1: 2, 3: 4}
    fmt.Println(a)                  // [0 2 0 4]
    fmt.Printf("type of a:%T\n", a) //type of a:[4]int
}

数组遍历

func main() {
    var a = [...]string{"python", "java", "golang"}
    // 方法1:for循环根据数组长度遍历
    for i := 0; i < len(a); i++ {
        fmt.Println(a[i])
    }

    // 方法2:for range遍历
    for index, value := range a {
        fmt.Println(index, value)
    }
}

多维数组

多维数组仅支持最外层使用...来进行自动推导

// 正确写法
a := [...][2]string{
    {"北京", "上海"},
    {"广州", "深圳"},
    {"成都", "重庆"},
}
// 以下是错误写法
b := [3][...]string{
    {"北京", "上海"},
    {"广州", "深圳"},
    {"成都", "重庆"},
}

相关文章

  • Go-Array

    golang初始化数组 golang中数组为值类型 方式1:指定数组长度 方式2:自行推断数组长度 方式3:指定索...

网友评论

      本文标题:Go-Array

      本文链接:https://www.haomeiwen.com/subject/polacltx.html