美文网首页Go
区块链 go语言数据类型——数组(array)

区块链 go语言数据类型——数组(array)

作者: ze__lin | 来源:发表于2018-01-16 01:26 被阅读68次
    1. 数组简介

    同一个数组里面只能存放同一种类型的数据;每个数据被称为数组元素(element),一个数组包含的元素个数被称为数组的长度。
    [1,3,5,6,7,8] numbers
    len(numbers) 长度 6
    cap(numbers) 容量
    numbers[3] 读取对应索引的数据
    数组里面的数据:1.有序 2.可重复
    集合:1.无序 2. 不可重复


    2.数组的初始化的歌各种方式
    //创建数组(声明长度)
    var numbers = [5]int{1, 3, 5, 6, 8}
    var numbers = [5]int{}
    var nums [5]int //[0,0,0,0,0]
    var names [89][101]string
    nums := [5]int{2, 6, 9, 1, 10}

    //创建数组(声明长度),并仅初始化其中的部分元素
    var nums = [5]int{1: 2, 3: 6} //[0,2,0,6,0]

    //创建数组(不声明长度)
    var array2 = [...]int{6, 7, 8}

    //创建数组切片
    mySlice := []int{1, 3, 5, 7, 9, 11}

        mySlice := make([]int, 3, 3)
    
    // mySlice := [3]int{}  //长度不可变,容量不可变
    
    // mySlice := []int{0,0,0}
    

    //创建数组(不声明长度),并仅初始化其中的部分元素,数组的长度将根据初始化的元素确定
    var array5 = [...]string{3: "Tom", 2: "Alice"}

    //创建数组切片,并仅初始化其中的部分元素,数组切片的len将根据初始化的元素确定
    var array6 = []string{4: "Smith", 2: "Alice"}


    3数组长度与容量

    package main

    import "fmt"

    func main() {
    // 如果一个可变的数组容量不够使用的时候,容量翻倍

    mySlice := []int{1, 2, 3, 4, 5, 6}
    myOtherSlice := []int{7, 8, 9, 10, 11}
    // myOtherSlice... 表示把myOtherSlice里面的所有

    // 内容一一添加到mySlice里面,...是一种语法
    mySlice = append(mySlice, myOtherSlice...)
    
    fmt.Println(mySlice)
    fmt.Println(len(mySlice))
    fmt.Println(cap(mySlice))
    

    }

    输出为:
    [1 2 3 4 5 6 7 8 9 10 11]
    11
    12

    相关文章

      网友评论

        本文标题:区块链 go语言数据类型——数组(array)

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