170 похожих чатов

Https://Go.Dev/Play/P/ZW3hrc9nmdk одна из задач с собесов, что fmt выведет ?

14 ответов

11 просмотров

Вот-вот. Вот это вот всё и вылетает из головы периодически. Опять залезаешь на go.dev в блог, опять листаешь, ругнёшься матом и пишешь дальше.

Геннадий Ковалёв
Вот-вот. Вот это вот всё и вылетает из головы пери...

1. Создали слайс с len = cap = 10 2. По индексу записали 0...9, теперь массив под слайсом выглядит так: [0 1 2 3 4 5 6 7 8 9] 3. Взяли слайс s[0:1]: слайсинг сами данные не копирует, но возвращает новый слайс, у которого len = 1, cap = 10, а массив под капотом все тот же 4. append в s2 проверяет, больше ли len(slice) + len(newData), чем capacity слайса. В данном случае len(slice) + len(newData) = 2, что меньше cap(s2) = 10, поэтому будет переиспользован тот же самый массив. В результате значение 1 в нем будет перетерто на 666

Timur Sharapov
1. Создали слайс с len = cap = 10 2. По индексу за...

Если len в п. 4 станет больше, произойдёт полное копирование массива?

Геннадий Ковалёв
Если len в п. 4 станет больше, произойдёт полное к...

Да, в этом случае будет создан массив размера 2X, куда будут скопированы старые + новые элементы. До порога в 1024 элемента массив будет увеличиваться вдвое, но после этой отметки только на 25%

Геннадий Ковалёв
Понял. Благодарю.

Посмотрите ещё такой пример: https://go.dev/play/p/6oJY_BKz6_S А потом поменяйте capacity слайса s при создании на 4. Будет, о чем подумать :)

Andrey-Burov Автор вопроса
Timur Sharapov
Посмотрите ещё такой пример: https://go.dev/play/...

Ну вот зачем этот пример, только что же всё нормально было 😂 Пошёл думать.

Геннадий Ковалёв
Ну вот зачем этот пример, только что же всё нормал...

Кажется, что реклама тут не приветствуется, да у меня и цели нет рекламной, но я себе завел канальчик, где вчера как раз этот кейс разбирал (оттуда и взял). Возможно, покажется полезным) https://t.me/letMyGophersGo/23

Похожие вопросы

Обсуждают сегодня

А как старый хаскел с новым стыковать ? потому как тут работает https://play.haskell.org/saved/C3xpMzcd, а вот тут https://stepik.org/lesson/7602/step/9?unit=1473 нет ошибка C...
Fedor
131
Вопрос я правильно понимаю что в коде newtype ArrowMap k v = ArrowMap { getArrowMap :: k -> Maybe v } getArrowMap есть функция типа k -> Maybe v, если да, то не понимаю задач...
Fedor
64
Как Вы считаете нормально ли в двадцатых годах 21 века в ВУЗах Российской Федерации обучать студентов работе с TASM? Не слишком ли это "архаично"? (Если оффтоп или флейм для э...
Spiker01
52
Продолжая диалог про свифт в проде – сейчас возник вопрос в активном наборе бекендеров. В основном в нашей компании мы фанаты Java Spring и полностью ей довольны. Однако найм ...
Guseyn
27
{!! $modx->runSnippet( 'multiTV',[ 'tvName'=>'slider-main1', 'docid'=>'[*id*]', 'tplConfig'=>'', 'display'=>'4', 'offset'=>'0', 'rows'=>'all', 'ra...
Роман С
4
Комрады, хотел уточнить. Проперть в OnDestroy юнита-хозяина по-прежнему доступна? И еще уточнение: finalization юнита наступает раньше или позже OnDestroy?
Ed Doc
48
PopOs or Linux Mint for a noob starter? Also do you have any articles on how to safely dual boot Windows 10 alongside it? I've heard there are a bunch problems that can occur...
Senator
14
Читаю сейчас [нет, уже больше не читаю!] курсовую о Булгакове, написанную, похоже, с помощью ChatGPT. Это удивительный психоделический опыт. Текст в основном написан в стиле б...
✨ Uni [🌊 В отпуске]
1
Из рассылки The Lazarus team is glad to announce the release of Lazarus 3.4. This is a bugfix release and was built with FPC 3.2.2. Here is the list of changes for Lazarus...
Ed Doc
4
Всем привет! поделитесь, пож-та, как кто дебажил / решал проблему с 504 Time out ошибкой от nginx, когда стучишься на свой vapor сервер? в логах /var/log/nginx/error.log е...
Paul
24
Карта сайта