亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

如何獲取一組數組(字符串)并在 Golang 中創建這些數組的多維切片?

如何獲取一組數組(字符串)并在 Golang 中創建這些數組的多維切片?

Go
小唯快跑啊 2022-11-08 10:41:58
我正在嘗試實現一個函數,當傳遞一個字符串數組時,它會創建一個數組切片,并將每個傳遞的數組添加到其中。它將返回所有傳遞的數組的最后一個切片。作為一個測試,我初始化了 4 個數組并嘗試創建一個函數來執行此操作。然而,它失敗得相當慘。這就是我到目前為止所擁有的。不知道該怎么做。func main() {    array1 := []string{"x", "o", "x", "_", "_"}    array2 := []string{"0", "o", "x", "_", "_"}    array3 := []string{"o", "o", "o", "_", "_"}    array4 := []string{"o", "o", "o", "o", "o"}    FinalSlice(array1)    FinalSlice(array2)    FinalSlice(array3)    fmt.Println(FinalSlice(array4))}func FinalSlice(array []string) [][]string {    var slice [][]string    for i, _ := range slice {        slice[i] = array    }    return slice}現在這是輸出:[]
查看完整描述

2 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

那是因為你遍歷了一個沒有元素的空切片。


所以你的循環


for i, _ := range slice {}

實際上會運行 0 次迭代(這就是你最終得到一個空數組的原因)。


我不明白你想要達到的確切結果,但是如果你想將數組連接成一個多維的,你可以使用下面的代碼:


package main


import "fmt"


func AppendSlice(source [][]string, value []string) [][]string {

    return append(source, value)

}


func main() {

    array1 := []string{"x", "o", "x", "_", "_"}

    array2 := []string{"0", "o", "x", "_", "_"}

    array3 := []string{"o", "o", "o", "_", "_"}

    array4 := []string{"o", "o", "o", "o", "o"}


    var finalArray [][]string


    finalArray = AppendSlice(finalArray, array1)

    finalArray = AppendSlice(finalArray, array2)

    finalArray = AppendSlice(finalArray, array3)

    finalArray = AppendSlice(finalArray, array4)


    // [[x o x _ _] [0 o x _ _] [o o o _ _] [o o o o o]]

    fmt.Println(finalArray) 

}


這可能會在很多方面得到改進,請隨意使用此解決方案:https ://go.dev/play/p/vXvqlRZuOUI


查看完整回答
反對 回復 2022-11-08
?
德瑪西亞99

TA貢獻1770條經驗 獲得超3個贊

就不能說類似的話


func bundleSlices( slices ...[]int) [][]int {

    return slices

}

接著:


package main


import "fmt"


func main() {

    arr1 := []int{1, 2, 3}

    arr2 := []int{4, 5, 6}

    arr3 := []int{7, 8, 9}


    bundled := bundleSlices( arr1, arr2, arr3 )


    fmt.Println(bundled)


}

要得到


[[1 2 3] [4 5 6] [7 8 9]]


查看完整回答
反對 回復 2022-11-08
  • 2 回答
  • 0 關注
  • 138 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號