Слайс нарезается оператором [low:high] или [low:high:max]:
s := []int{0, 1, 2, 3, 4, 5}
a := s[1:4] // [1, 2, 3], len=3, cap=5
b := s[:3] // [0, 1, 2], len=3, cap=6
c := s[2:] // [2, 3, 4, 5], len=4, cap=4
d := s[1:3:3] // [1, 2], len=2, cap=2 (ограничен cap)
Важно: нарезанный слайс разделяет underlying array с оригиналом. Изменение элемента в одном отразится в другом. Третий параметр (max) ограничивает cap — это полезно, чтобы append создал новый массив вместо перезаписи данных оригинала.