tgoop.com/go_interview_lib/473
Create:
Last Update:
Last Update:
💬 Назовите основные способы создания среза в Go.
Предположим, что тип нового создаваемого среза — это S,
а s0
— это нулевое значение литерала типа S.
1. Использование составных литералов:
// или
var aSlice = S{Len - 1: s0} // длина и емкость равны Len (константа)
Емкость результирующего среза не всегда выравнивается по размеру класса памяти.
2. Использование встроенной функции
make:
// или
var aSlice = make(S, initialLength) // емкость == initialLength
Емкость результирующего среза не всегда выравнивается по размеру класса памяти.
3. Использование встроенных функций
append
+ make
):
// или
var aSlice = append(S(nil), make(S, initialLength)...)
// или
var aSlice = append(S{}, make(S, initialLength, capacity)...)
// или
var aSlice = append(S(nil), make(S, initialLength, capacity)...)
С официальным Go-инструментарием емкость результирующего среза выравнивается по размеру класса памяти.
BY Библиотека Go для собеса | вопросы с собеседований
Share with your friend now:
tgoop.com/go_interview_lib/473