美文网首页
go 语言 数组声明与切片

go 语言 数组声明与切片

作者: 杀杀神者 | 来源:发表于2018-09-26 10:50 被阅读0次

    声明数组语法  var a = [10]int{}  长度[]+类型+{} 等于 一个数组的声明 ,如果数组里面的值没有 10 个的话  少的位置 int类型用0填充  

    string类型用空白填充

    package main

    import ("fmt")

    func main() {

    a := [9]int{1,2,3,4,5,6}

    b := [9]string{"1","2","3","4","5","6"}

    fmt.Println(a) //[1 2 3 4 5 6 0 0 0]

    fmt.Println(b) //[1 2 3 4 5 6  ]

    }

    每个数组的大小都是固定的。而切片则为数组元素提供动态大小的、灵活的视角。在实践中,切片比数组更常用。

    语法: a := [9]int{1,2,3,4,5,6}

            var b []int = a[0:5]  //必须是var 声明 切片通过两个下标来界定,即一个上界和一个下界,二者以冒号分隔:a[low : high]

    package main

    import ("fmt")

    func main() {

    a := [9]int{1,2,3,4,5,6,7,8,9}

    var b []int = a[0:5]

    fmt.Println(b)

    }

    切片并不存储任何数据,它只是描述了底层数组中的一段。

    更改切片的元素会修改其底层数组中对应的元素。

    package main

    import ("fmt")

    func main() {

    a := [9]int{1,2,3,4,5,6,7,8,9}

    var b []int = a[1:5]

    b[0]=66

    fmt.Println(b)  //[66 3 4 5]

    fmt.Println(a) //[1 66 3 4 5 6 7 8 9]

    }

    切片后的数组下标重新定义了一下 所以上述的 b[0]的值的位置其实是a[1]的值的位置

    进行切片时,你可以利用它的默认行为来忽略上下界

    切片下界的默认值为 0,上界则是该切片的长度。

    var a [10]int

    a[0:10]

    a[:10]

    a[0:]

    a[:]

    都是一样的

    相关文章

      网友评论

          本文标题:go 语言 数组声明与切片

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