go-learning/tour_of_go/l4/making-slices.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], " "))
}
}