42 lines
623 B
Go
42 lines
623 B
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"strings"
|
|
)
|
|
|
|
func printSlice(s []int) {
|
|
fmt.Printf("len=%d cap=%d %v\n", len(s), cap(s), s)
|
|
}
|
|
|
|
func main() {
|
|
a := make([]int, 5)
|
|
printSlice(a)
|
|
|
|
b := make([]int, 0, 5)
|
|
printSlice(b)
|
|
|
|
c := b[:2]
|
|
printSlice(c)
|
|
|
|
d := c[2:5]
|
|
printSlice(d)
|
|
|
|
// Slices can contain any type including other slices
|
|
board := [][]string{
|
|
[]string{"_", "_", "_"},
|
|
[]string{"_", "_", "_"},
|
|
[]string{"_", "_", "_"},
|
|
}
|
|
|
|
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], " "))
|
|
}
|
|
}
|