package main

import "fmt"

func main() {
    f := make([][]int,5)  // 初始化

    for i:=0; i<5; i++ {
        f[i] = make([]int,6) // 多维slice 还得再初始化
        for j:=0; j<6; j++ {
            f[i][j] = 8
        }
    }

    fmt.Println(f)

    show(k,8,9)
}

func show(x func(int,int),i,j int) {   //函数做参数
        x(i,j)
}

func k(a,b int) {
        fmt.Println(a*b)

}

结果

# go run a.go 
[[8 8 8 8 8 8] [8 8 8 8 8 8] [8 8 8 8 8 8] [8 8 8 8 8 8] [8 8 8 8 8 8]]
72

上面的二维slice类似go网站的习题.

https://tour.go-zh.org/moretypes/15


package main

import "fmt"
import "strconv"

func main() {
    k := map[int][]string{}  // key:value ==> int:[]string
    k[1] = make([]string,5)  // init slice
    k[2] = make([]string,5)
    for i:=0;i<5;i++ {
        k[1][i] = strconv.Itoa(i+i+100)  //数字到字符串
        k[2][i] = string(i*i+60)  //直接这样是到单字符了
    }
    for _, b := range k {
        fmt.Println(b)
    }
    fmt.Println(string(102))
    fmt.Println(string(1020))
        a := string(102)
        fmt.Println([]byte(a)[0])    
}

结果

# go run z.go 
[100 102 104 106 108]
[< = @ E L]
f
霞
102