切片的切片 [][]T

程序员成长之旅 · 程序员成长之旅/Go语言学习/笔记 · 233 字

切片的切片

切片可包含任何类型,甚至包括其它的切片。

package main import ( "fmt" "strings" ) func main() { // 创建一个井字板(经典游戏) board := [][]string{ []string{"", "", ""}, []string{"", "", ""}, []string{"", "", "_"}, } // 两个玩家轮流打上 X 和 O board[0][0] = "X" board[2][2] = "O" board[1][2] = "X" board[1][0] = "O" board[0][2] = "X" for i := 0; i < len(board); i++ { fmt.Printf("%s\n", strings.Join(board[i], " ")) } } //结果 X _ X O _ X _ _ O

x

1 package

main 2 3 import ( 4

"fmt" 5

"strings" 6 ) 7 8 func

main () { 9

// 创建一个井字板(经典游戏) 10

board :

[][] string { 11

[] string { "" , "" , "_" }, 12

[] string { "" , "" , "_" }, 13

[] string { "" , "" , "_" }, 14

} 15 16

// 两个玩家轮流打上 X 和 O 17

board [ 0 ][ 0 ]

"X" 18

board [ 2 ][ 2 ]

"O" 19

board [ 1 ][ 2 ]

"X" 20

board [ 1 ][ 0 ]

"O" 21

board [ 0 ][ 2 ]

"X" 22 23

for

i :

0 ; i

<

len ( board ); i ++ { 24

fmt . Printf ( "%s\n" , strings . Join ( board [ i ], " " )) 25

} 26 } 27 28 //结果 29 X

_

X 30 O

_

X 31 _

_

O