当前位置:首页 >> 脚本专栏

Go语言创建、初始化数组的常见方式汇总

本文实例总结了Go语言创建、初始化数组的常见方式。分享给大家供大家参考。具体分析如下:

Go语言的语法很灵活,以下展示了创建并初始化数组的多种方式:

复制代码 代码如下://数组初始化的各种方式 
func arraySliceTest0201() { 
    //创建数组(声明长度) 
    var array1 = [5]int{1, 2, 3} 
    fmt.Printf("array1--- type:%T \n", array1) 
    rangeIntPrint(array1[:]) 
 
    //创建数组(不声明长度) 
    var array2 = [...]int{6, 7, 8} 
    fmt.Printf("array2--- type:%T \n", array2) 
    rangeIntPrint(array2[:]) 
 
    //创建数组切片 
    var array3 = []int{9, 10, 11, 12} 
    fmt.Printf("array3--- type:%T \n", array3) 
    rangeIntPrint(array3) 
 
    //创建数组(声明长度),并仅初始化其中的部分元素 
    var array4 = [5]string{3: "Chris", 4: "Ron"} 
    fmt.Printf("array4--- type:%T \n", array4) 
    rangeObjPrint(array4[:]) 
 
    //创建数组(不声明长度),并仅初始化其中的部分元素,数组的长度将根据初始化的元素确定 
    var array5 = [...]string{3: "Tom", 2: "Alice"} 
    fmt.Printf("array5--- type:%T \n", array5) 
    rangeObjPrint(array5[:]) 
 
    //创建数组切片,并仅初始化其中的部分元素,数组切片的len将根据初始化的元素确定 
    var array6 = []string{4: "Smith", 2: "Alice"} 
    fmt.Printf("array6--- type:%T \n", array6) 
    rangeObjPrint(array6) 

 
//输出整型数组切片 
func rangeIntPrint(array []int) { 
    for i, v := range array { 
        fmt.Printf("index:%d  value:%d\n", i, v) 
    } 

 
//输出字符串数组切片 
func rangeObjPrint(array []string) { 
    for i, v := range array { 
        fmt.Printf("index:%d  value:%s\n", i, v) 
    } 
}

希望本文所述对大家的GO语言程序设计有所帮助。