在golang中创建二维字符串数组

use*_*619 5 go

我需要创建一个二维字符串数组,如下所示 -

matrix = [['cat,'cat','cat'],['dog','dog']]
Run Code Online (Sandbox Code Playgroud)

代码:-

package main

import (
    "fmt"
)

func main() {
    { // using append

    var matrix [][]string
    matrix[0] = append(matrix[0],'cat')
        fmt.Println(matrix)
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:-

panic: runtime error: index out of range

goroutine 1 [running]:
main.main()
    /tmp/sandbox863026592/main.go:11 +0x20
Run Code Online (Sandbox Code Playgroud)

Adr*_*ian 6

你有一个切片的切片,并且外部切片nil在初始化之前是这样的:

matrix := make([][]string, 1)
matrix[0] = append(matrix[0],'cat')
fmt.Println(matrix)
Run Code Online (Sandbox Code Playgroud)

或者:

var matrix [][]string
matrix = append(matrix, []string{"cat"})
fmt.Println(matrix)
Run Code Online (Sandbox Code Playgroud)

或者:

var matrix [][]string
var row []string
row = append(row, "cat")
matrix = append(matrix, row)
Run Code Online (Sandbox Code Playgroud)