PHP中高级工程师面试重点讲解视频课程
Go快速入门浅显易懂视频教程-基础篇
Go快速入门浅显易懂视频教程-中级篇
go的多维数组和slice使用
阅读:2447 分享次数:0

package main

import (  
    "fmt"  
)

func main() {  
    //定义一个2维数组,直接赋值  
    var arr0 = [5][2]string{{"a", "b"}, {"c", "d"}}  
    fmt.Println(arr0)

    //定义一个2维数据根据坐标赋值
    var arr1 = [4][2]string{}
    arr1[0][0] = "aa"
    arr1[0][1] = "bb"
    arr1[1][0] = "cc"
    arr1[1][1] = "dd"
    arr1[2][0] = "ee"
    arr1[2][1] = "ff"
    fmt.Println(arr1)

    //定义一个2维slice,直接赋值
    var slice1 = [][]string{{"aaa", "bbb", "ccc"}, {"ddd", "eee", "fff"}, {"ggg"}}
    fmt.Println(slice1)

    //多维的slice赋值,一定从最里层形成一个slice,然后自里向外逐层append即可。
    //这里是2维slice例子
    var slice2 [][]string
    for i := 0; i < 5; i++ {
        var tmpSlice1 []string
        for j := 0; j < 4; j++ {
            tmpSlice1 = append(tmpSlice1, "a")
        }
        slice2 = append(slice2, tmpSlice1)
    }
    fmt.Println(slice2)
    //这里是3维slice例子
    var slice3 [][][]string
    for i := 0; i < 4; i++ {
        var tmpSlice2 [][]string
        for j := 0; j < 5; j++ {
            var tmpSlice3 []string
            for k := 0; k < 6; k++ {
                tmpSlice3 = append(tmpSlice3, "bb")
            }
            tmpSlice2 = append(tmpSlice2, tmpSlice3)
        }
        slice3 = append(slice3, tmpSlice2)
    }
    fmt.Println(slice3)

}

感觉本站内容不错,读后有收获?