Slices

An array has a fixed size. A slice, on the other hand, is a dynamically-sized, flexible view into the elements of an array. In practice, slices are much more common than arrays.

The type []T is a slice with elements of type T.

A slice is formed by specifying two indices, a low and high bound, separated by a colon:

  1. a[low : high]

This selects a half-open range which includes the first element, but excludes the last one.

The following expression creates a slice which includes elements 1 through 3 of a:

  1. a[1:4]

slices.go

  1. package main
  2. import "fmt"
  3. func main() {
  4. primes := [6]int{2, 3, 5, 7, 11, 13}
  5. var s []int = primes[1:4]
  6. fmt.Println(s)
  7. }