Как объявить слайс?

Intern
281 просмотров
AFK Offer AI

Несколько способов:

// Литерал
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, пустой → []).

Следующий вопрос

Как найти memory leak в production?