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

相关阅读 >>

Go遍历struct,map,slice

手撸Golang 创建型设计模式 简单工厂

介绍一个超好用的orm库Gorm【Golang 入门系列十二】

Golang的极简流式编程

解决Go get下载包失败问题

djanGo模板语言

Golang如何调用函数?

手撸Golang 仿spring ioc/aop 之3

毛剑:bilibili 的 Go 服务实践(上篇)

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

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




打赏

取消

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

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

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

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

评论

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

    正在狠努力加载,请稍候...