🤔 Вопрос с собеседования по Go
Что выведет программа?
❤️ — [1 2 3 4 5] / [1 2 10]
🔥 — [1 2 10 4 5] / [1 2 10]
👍 — [1 2 3 4 5] / [1 2 3]
👇 Правильный ответ (нажми, чтобы прочитать):
🔥 — [1 2 10 4 5] / [1 2 10]
b := a[:2] создаёт слайс, который использует тот же backing array, что и a.
У b остаётся capacity до конца исходного массива, поэтому append не выделяет новый массив, а записывает 10 в третий элемент.
В итоге изменяется и a:
[1 2 10 4 5]
[1 2 10]
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека Go-разработчика
Post #7498
1.72K

- 🔥 45
- 🤔 3
- ❤ 2
- 🌚 2
- 👾 1