Слайсы vs массивы?

Junior
1.5k просмотров
AFK Offer AI

Массив — фиксированный размер, задаётся при объявлении: [5]int. Слайс — динамическая обёртка над массивом: содержит указатель на underlying array, длину (len) и ёмкость (cap).

arr := [3]int{1, 2, 3}    // массив, размер — часть типа
sl := []int{1, 2, 3}      // слайс, динамический

Массив передаётся по значению (копируется), слайс передаёт копию заголовка, но данные общие. При append слайс может вырасти — тогда аллоцируется новый underlying array. В 99% случаев используют слайсы.

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

Как работает HTTP сервер в Go?