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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

從二維數(shù)組中獲取 lang slice 列?

從二維數(shù)組中獲取 lang slice 列?

Go
阿晨1998 2021-06-03 17:42:43
我很好奇,你如何從二維數(shù)組創(chuàng)建一個(gè)列切片?我有一個(gè)用于 Tic-Tac-Toe 游戲板的數(shù)組,我正在嘗試創(chuàng)建一個(gè)列切片,但我的切片輸出相同。/* Just trying to get rows and columns working first */func() isWin() bool {  win := make([]char, SIZE*2)  for i:= range BOARD {    fmt.Println("Row")    win[i] = check(BOARD[i][0:SIZE])    fmt.Println("Column")    win[i+SIZE] = check(BOARD[0:SIZE][i])  }return false}func() check(slice []char) (char) {  fmt.Println(slice)  return "-"}我給它以下輸入:[E E E E][E E E E][X O E E][X O E E]我得到了回報(bào)Row[X O E E]Column[X O E E]但我想要回報(bào)Row[X O E E]Column[E E X X]我如何制作這個(gè)切片?
查看完整描述

1 回答

?
溫溫醬

TA貢獻(xiàn)1752條經(jīng)驗(yàn) 獲得超4個(gè)贊

切片語(yǔ)法無(wú)法實(shí)現(xiàn)您想要做的事情。您認(rèn)為這x[i][0:n]將為您提供 row 的所有列i。它實(shí)際上做的是將列返回0到nfrom row i。


您必須使用循環(huán)來(lái)獲取一列:


func boardColumn(board [][]char, columnIndex int) (column []char) {

    column = make([]char, 0)

    for _, row := range board {

        column = append(column, row[columnIndex])

    }

    return

}

您用“行”標(biāo)記的代碼實(shí)際上是我希望提供列的代碼:


win[i] = check(BOARD[0:SIZE][i])

從語(yǔ)義上講,切片索引表示:將i所有元素的第 th 個(gè)元素從零到 SIZE。但是,如前所述,Go 切片的工作方式不同。自己試試:


x := [][]int{{1,2,3},{4,5,6}}

fmt.Println(x[0:2]) // [[1,2,3],[4,5,6]]

fmt.Println(x[0:2][0]) // [1,2,3]

正如您在上面示例x[0:2]的第二行中看到的,返回完整的 2d 切片。因此,取第一個(gè)元素返回該二維切片的第一行。


查看完整回答
反對(duì) 回復(fù) 2021-06-07
  • 1 回答
  • 0 關(guān)注
  • 277 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

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

公眾號(hào)

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