Go-Array


本文摘自网络,作者,侵删。

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{
    {"北京", "上海"},
    {"广州", "深圳"},
    {"成都", "重庆"},
}

本文来自:简书

感谢作者:SodaCrush

查看原文:Go-Array

相关阅读 >>

手撸Golang 结构型设计模式 桥接模式

优雅的实现 Golang rest api 架构

Go语言 if 语句嵌套

Go module 12

Go那些事儿|Go反射使用第二弹(valueof)

Golang不可重入函数实现

手撸Golang 基本数据结构与算法 二叉查找树

简介

[译]Go语言最佳实战[一]

Go插件系统

更多相关阅读请进入《Go》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...