--- Restore content start ---
Slices can be re-sliced, creating a new slice value that points to the same array.
The expression
s[lo:hi]
Evaluates to a slice of the elements fromlo
Throughhi-1
, Aggressive Sive. Thus
s[lo:lo]
Is empty and
s[lo:lo+1]
Has one element.
package main import "fmt"func main() { p := []int{2, 3, 5, 7, 11, 13} fmt.Println("p ==", p) fmt.Println("p[1:4] ==", p[1:4]) //missing low index implies 0 fmt.Println("p[:3] ==", p[:3]) // missing high index implies len(s) fmt.Println("p[4:] ==", p[4:])}
package main import "fmt"func main() { p := []int{2, 3, 5, 7, 11, 13} fmt.Println("p ==", p) fmt.Println("p[1:4] ==", p[1:4]) //missing low index implies 0 fmt.Println("p[:3] ==", p[:3]) // missing high index implies len(s) fmt.Println("p[4:] ==", p[4:]) var a [2]string a[0] = "Hello" a[1] = "World" fmt.Println(a[0:1])}
A tour of Go slicing slices