第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在golang中創(chuàng)建二維字符串?dāng)?shù)組

在golang中創(chuàng)建二維字符串?dāng)?shù)組

Go
翻閱古今 2023-03-21 14:51:37
我需要創(chuàng)建一個二維字符串?dāng)?shù)組,如下所示 -matrix = [['cat,'cat','cat'],['dog','dog']]代碼:-package mainimport (    "fmt")func main() {    { // using append    var matrix [][]string    matrix[0] = append(matrix[0],'cat')        fmt.Println(matrix)    }}錯誤:-panic: runtime error: index out of rangegoroutine 1 [running]:main.main()    /tmp/sandbox863026592/main.go:11 +0x20
查看完整描述

2 回答

?
慕妹3242003

TA貢獻1824條經(jīng)驗 獲得超6個贊

你有一片切片,外層切片nil直到它被初始化:


matrix := make([][]string, 1)

matrix[0] = append(matrix[0],'cat')

fmt.Println(matrix)

或者:


var matrix [][]string

matrix = append(matrix, []string{"cat"})

fmt.Println(matrix)

或者:


var matrix [][]string

var row []string

row = append(row, "cat")

matrix = append(matrix, row)


查看完整回答
反對 回復(fù) 2023-03-21
?
森林海

TA貢獻2011條經(jīng)驗 獲得超2個贊

用 Go 做二維數(shù)組的問題是你必須單獨初始化每個部分,例如,如果你有一個[][]bool,你必須[]([]bool)先分配,然后再分配個人[]bool;無論您是否正在使用make()或append()執(zhí)行分配,這都是相同的邏輯。


在你的例子中,matrix[0]僅僅 之后還不存在var matrix [][]string,因此你得到了index out of range錯誤。


例如,下面的代碼將根據(jù)不同類型的現(xiàn)有切片的大小創(chuàng)建另一個切片:


func solve(board [][]rune, …) {


? ? x := len(board)

? ? y := len(board[0])

? ? visited := make([][]bool, x)

? ? for i := range visited {

? ? ? ? visited[i] = make([]bool, y)

? ? }

如果你只是想根據(jù)你擁有的靜態(tài)數(shù)組初始化切片,你可以直接這樣做,甚至不必使用append()or make():


package main


import (

? ? "fmt"

)


func main() {

? ? matrix := [][]string{{"cat", "cat", "cat"}, {"dog", "dog"}}

? ? fmt.Println(matrix)

}


查看完整回答
反對 回復(fù) 2023-03-21
  • 2 回答
  • 0 關(guān)注
  • 243 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號