Array/Slice Built-ins
Make
Make allows you to define a slice, its length and its capacity
func main() {
a := make([]int, 1, 2)
fmt.Printf("Length %v\n", len(a))
fmt.Printf("Capacity %v\n", cap(a))
}
/*
Output:
Length 1
Capacity 2
*/Adjusting length
This means you now can adjust the length of that slice, or even just change
func main() {
a := make([]int, 1, 2)
a = a[:2]
fmt.Printf("Length %v\n", len(a))
fmt.Printf("Capacity %v\n", cap(a))
}
/*
Output:
Length 2
Capacity 2
*/Append
Append just creates a new array with that value appended
func main() {
a := make([]int, 1, 1)
a = append(a, 1)
fmt.Printf("Length %v\n", len(a))
fmt.Printf("Capacity %v\n", cap(a))
fmt.Println(a)
}
/*
Output:
Length 2
Capacity 2
[0 1]
*/