douguaidian8021 2018-08-14 19:55 采纳率: 100%
浏览 1454
已采纳

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

I need to create a 2 dimensional string array as shown below -

matrix = [['cat,'cat','cat'],['dog','dog']]

Code:-

package main

import (
    "fmt"
)

func main() {
    { // using append

    var matrix [][]string
    matrix[0] = append(matrix[0],'cat')
        fmt.Println(matrix)
    }
}

Error:-

panic: runtime error: index out of range

goroutine 1 [running]:
main.main()
    /tmp/sandbox863026592/main.go:11 +0x20
  • 写回答

2条回答 默认 最新

  • duanjue2560 2018-08-14 20:05
    关注

    You have a slice of slices, and the outer slice is nil until it's initialized:

    matrix := make([][]string, 1)
    matrix[0] = append(matrix[0],'cat')
    fmt.Println(matrix)
    

    Or:

    var matrix [][]string
    matrix = append(matrix, []string{"cat"})
    fmt.Println(matrix)
    

    Or:

    var matrix [][]string
    var row []string
    row = append(row, "cat")
    matrix = append(matrix, row)
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 streamingtool
  • ¥15 MATLAB图像问题
  • ¥20 树莓派5做人脸情感识别与反馈系统
  • ¥15 selenium 控制 chrome-for-testing 在 Linux 环境下报错 SessionNotCreatedException
  • ¥15 使用pyodbc操作SQL数据库
  • ¥15 MATLAB实现下列
  • ¥30 mininet可视化打不开.mn文件
  • ¥50 C# 全屏打开Edge浏览器
  • ¥80 WEBPACK性能优化
  • ¥30 python拟合回归分析