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], " "))
|
||
|
}
|
||
|
}
|