Slice je segment pole. Stejně jako pole je slice indexována a má délku. Narozdíl od pole se může tato délka měnit.
Rozdíl mezi definováním pole a slice je pouze v chybějící hodnota mezi hranatými závorkami. Zde je příklad slice.
var x []int
V tomto případě má x nulovou délku.
Pokud chcete vytvořit slice, měli by jste použít vestavěnou funkci make.
x:=make([]int, 5)
Vytvořili jsme slice které je asociované s polem typu int o délce 5. Slice je vždycky asociované s nějakým polem a ačkoli slice nemůže být nikdy delší než dané pole, může být menší(kratší).
Proto funkce make umožňuje zadat třetí parametr.
x:=make([]int, 5, 10)
Vytvořili jsme slice o délce 5 , která je asociativní s polem o kapacitě(délce) 10.
Další z možností jak vytvořit slice je použití [low:high] v definici.
arr:=[5]int{1,2,3,4,5} //vytvořili jsme pole arr s hodnotama 1,2,3,4,5 x:=arr[0:5] // vytvořili jsme slice
package main import ( "fmt") func main() { s:=make([]string,3) fmt.Println("emp:", s) s[0]="a" s[1]="b" s[2]="c" fmt.Println("set:", s) s=append(s, "d") s=append(s, "e", "f") fmt.Println("append:", s)}