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) }
結果bash
# 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網站的習題.ide
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