日本語あってるかわかりませんが。
main
の外で二次元スライスを作っておき、中でmake
でcap/lenを設定して初期化するといいです。
package main import "fmt" var multislice [][]string func main(){ multislice = make([][]string, 4) s := []string{"ドバイ", "インド", "ドイツ", "味噌汁"} for i:=0; i<len(multislice); i++{ multislice[i] = make([]string, 3) for j:=0; j<len(multislice[0]); j++{ multislice[i][j] = string([]rune(s[i])[j]) } } fmt.Println(multislice) }
出力
[[ド バ イ] [イ ン ド] [ド イ ツ] [味 噌 汁]]
競プロでたとえば入力であとからHeight, Widthを与えられる問題なんかのときにどうすりゃいいかわからんかったので。