Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Slice of an array

  • len
  • cap

We can use the array[start:end] syntax to get a slice of the array. The returned object is called a slice and it is a window onto the underlying array. It has a length defined by the start and end of the slice. It also has a capacity, which is all the places in the array from the start of the sliced to the end of the array.

package main

import (
	"fmt"
)

func main() {
	planets := [...]string{"Mercury", "Venus", "Earth", "Mars", "Jupiter", "Saturn"}

	fmt.Println(planets)
	fmt.Println(len(planets))
	fmt.Println(cap(planets))
	fmt.Printf("%T\n", planets)

	part := planets[1:4]
	fmt.Println(part)
	fmt.Println(len(part))
	fmt.Println(cap(part))
	fmt.Printf("%T\n", part)
}
[Mercury Venus Earth Mars Jupiter Saturn]
6
6
[6]string
[Venus Earth Mars]
3
5
[]string