2 回答

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

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]]
- 2 回答
- 0 關注
- 138 瀏覽
添加回答
舉報