Несколько способов:
// Литерал
s := []int{1, 2, 3}
// make с длиной и capacity
s := make([]int, 0, 10) // len=0, cap=10
// Нулевой слайс
var s []int // nil, len=0, cap=0
// Из массива
arr := [5]int{1, 2, 3, 4, 5}
s := arr[1:3] // [2, 3]
var s []int и s := []int{} — разные вещи: первое nil, второе пустой слайс. Оба имеют len=0, но nil != пустой при JSON-маршалинге (nil → null, пустой → []).