78 lines
1.9 KiB
Go
78 lines
1.9 KiB
Go
// Copyright © 2018 Inanc Gumus
|
|
// Learn Go Programming Course
|
|
// License: https://creativecommons.org/licenses/by-nc-sa/4.0/
|
|
//
|
|
// For more tutorials : https://learngoprogramming.com
|
|
// In-person training : https://www.linkedin.com/in/inancgumus/
|
|
// Follow me on twitter: https://twitter.com/inancgumus
|
|
|
|
package main
|
|
|
|
import "fmt"
|
|
|
|
func main() {
|
|
// --- #1 ---
|
|
// var games []string
|
|
// fmt.Printf("games's len : %d cap: %d\n", len(games), cap(games))
|
|
|
|
// games := []string{}
|
|
// fmt.Printf("games's len : %d cap: %d\n", len(games), cap(games))
|
|
|
|
// games = append(games, "pacman", "mario", "tetris", "doom")
|
|
// fmt.Printf("games's len : %d cap: %d\n", len(games), cap(games))
|
|
|
|
games := []string{"pacman", "mario", "tetris", "doom"}
|
|
fmt.Printf("games's len : %d cap: %d\n", len(games), cap(games))
|
|
|
|
// --- #2 ---
|
|
fmt.Println()
|
|
|
|
for i := 0; i <= len(games); i++ {
|
|
s := games[:i]
|
|
fmt.Printf("games[:%d]'s len: %d cap: %d\n", i, len(s), cap(s))
|
|
}
|
|
|
|
// --- #3 ---
|
|
fmt.Println()
|
|
|
|
zero := games[:0]
|
|
fmt.Printf("games's len: %d cap: %d\n", len(games), cap(games))
|
|
fmt.Printf("zero's len: %d cap: %d\n", len(zero), cap(zero))
|
|
|
|
for _, v := range []string{"ultima", "dagger", "pong", "coldspot", "zetra"} {
|
|
zero = append(zero, v)
|
|
fmt.Printf("zero's len: %d cap: %d\n", len(zero), cap(zero))
|
|
}
|
|
|
|
// --- #4 ---
|
|
fmt.Println()
|
|
|
|
for n := range zero {
|
|
s := zero[:n]
|
|
fmt.Printf("zero[:%d]'s len: %d cap: %d\n", n, len(s), cap(s))
|
|
}
|
|
|
|
// --- #5 ---
|
|
fmt.Println()
|
|
|
|
zero = zero[:cap(zero)]
|
|
for n := range zero {
|
|
s := zero[:n]
|
|
fmt.Printf("zero[:%d]'s len: %d cap: %d - %q\n", n, len(s), cap(s), s)
|
|
}
|
|
|
|
// --- #6 ---
|
|
fmt.Println()
|
|
|
|
zero[0] = "command & conquer"
|
|
games[0] = "red alert"
|
|
fmt.Printf("zero : %q\n", zero)
|
|
fmt.Printf("games : %q\n", games)
|
|
|
|
// --- #7 ---
|
|
// uncomment and see the error.
|
|
// _ = games[:cap(games)+1]
|
|
// or:
|
|
// _ = games[:5]
|
|
}
|