29 / 22 / 8
Регистрация: 16.04.2020
Сообщений: 89
|
||||||
Не понимаю поведение слайсов01.02.2025, 22:13. Показов 1203. Ответов 7
Метки нет Все метки)
(
Вот есть программа:
1
|
01.02.2025, 22:13 | |
Ответы с готовыми решениями:
7
Какая логика в адресации слайсов?
|
02.02.2025, 06:12 | |
IG2, Хороший вопрос.
Посмотрите https://freshman.tech/snippets/go/copy-slices/
0
|
![]() |
|||||||||||
02.02.2025, 10:07 | |||||||||||
Pre-sciptum, лично мое видение вопроса, без претензий на истину, могу что то не так понимать субъективно, и объективно в разных версиях может работать по разному.
2
|
5 / 40 / 1
Регистрация: 08.12.2024
Сообщений: 221
|
|
02.02.2025, 11:42 | |
0
|
643 / 397 / 76
Регистрация: 21.09.2008
Сообщений: 1,362
|
||||||||||||
02.02.2025, 13:46 | ||||||||||||
IG2, немного изменим Ваш пример для целей более подробного просмотра значений срезов и указателей на них.
len=1 cap=1 x=[1] 0xc00000a138 len=2 cap=2 x=[1 2] 0xc00000a170 len=3 cap=4 x=[1 2 3] 0xc00000e1a0 y := x len=3 cap=4 y=[1 2 3] 0xc00000e1a0 len=4 cap=4 x=[1 2 3 4] 0xc00000e1a0 len=4 cap=4 y=[1 2 3 5] 0xc00000e1a0 len=4 cap=4 x=[0 2 3 5] 0xc00000e1a0 x [0 2 3 5] y [0 2 3 5] Анализируя его, можно сделать выводы: 1. Присваивание одного среза другому не создаёт новый срез с копированием. Для копирования необходимо использовать системную функцию copy(), встроенную в язык Go, помня про два нюанса: целевой срез не расширяется автоматически, если он меньше исходного; если целевой срез больше исходного, то функция copy() не очищает элементы целевого, которые не были скопированы. 2. Значения указателей в структурах, описывающих срез, одинаковы, но значение длины в срезе x[] отличается от длины среза y[] после добавления числа 4. Далее добавляется в срез x[] число 5, но учитывая, что длина среза x[] меньше на единицу длины среза y[], число 5 затирает число 4. Напомню описание типа структуры среза в пакете reflect (https://golang.org/pkg/reflect/#SliceHeader):
0
|
1125 / 706 / 113
Регистрация: 10.03.2012
Сообщений: 4,583
|
||||||
02.02.2025, 16:21 | ||||||
0
|
![]() ![]() ![]() 4564 / 2760 / 489
Регистрация: 28.04.2012
Сообщений: 8,699
|
|||||||||||
05.02.2025, 10:42 | |||||||||||
0
|
643 / 397 / 76
Регистрация: 21.09.2008
Сообщений: 1,362
|
|
18.02.2025, 20:56 | |
1
|
18.02.2025, 20:56 | |
Помогаю со студенческими работами здесь
8
Не понимаю поведение wget
Не понимаю поведение мат платы M3A32-MVP DELUXE Сколько узлов в цепи и какие именно считать узлами? (вроде понимаю, но и не понимаю) Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
![]() |
||||
Как создать стек в Python
AI_Generated 05.06.2025
Как архитектор с более чем десятилетним опытом работы с Python, я неоднократно убеждался, что знание низкоуровневых механизмов работы стеков дает конкурентное преимущество при решении сложных задач. . . .
|
Server-Sent Events (SSE) в Node.js
run.dev 05.06.2025
Потоковая передача данных с сервера прямо в браузер стала повседневной потребностью - от биржевых графиков и спортивных трансляций до чатов и умных дашбордов. Много лет разработчики полагались на. . .
|
Создаем RESTful API на Golang с Fiber
golander 04.06.2025
Я перепробовал десятки фреймворков для создания RESTful API за последние годы, и когда впервые столкнулся с Fiber, понял, что это совсем другой уровень. Нет, я не собираюсь рассказывать сказки о. . .
|
Как работать с куки в ASP.NET Core
UnmanagedCoder 04.06.2025
Когда я впервые начал работать с куки в ASP. NET Core, меня поразило, насколько отличается работа с ними от классического ASP. NET. В Core все стало более декомпозированным - больше нет удобного. . .
|
Рисование коллайдеров физического движка Box2D-WASM v3 на Three.js
8Observer8 04.06.2025
Erin Catto (автор Box2D) переписал с нуля Box2D v2 с С++ на Си и появилась версия Box2D v3. Birch-san собрал Box2D v3 в WebAssembly (WASM), чтобы можно было использовать Box2D v3 на JavaScript.
В. . .
|
Worker Threads и многопоточность в Node.js
Reangularity 03.06.2025
Если вы когда-нибудь посещали собеседования на позицию Node. js разработчика, почти наверняка слышали заезженную фразу: "Node. js - однопоточная платформа". Звучит как неоспоримый факт, который. . .
|
Event-Driven CQRS на C# с паттерном Outbox
stackOverflow 03.06.2025
В традиционной модели происходит примерно следующее: вы получаете команду, обрабатываете ее, сохраняете результат в базу данных и затем пытаетесь опубликовать событие в брокер сообщений. Но что если. . .
|
OwenLogic: перенос сетевых переменных в панель Weintek (EasyBuilder Pro)
ФедосеевПавел 03.06.2025
ВВЕДЕНИЕ
ПЕРЕД ЭКСПЕРИМЕНТАМИ - СОЗДАЙТЕ РЕЗЕРВНЫЕ КОПИИ ПРОЕКТОВ
На момент написания статьи (02 июня 2025 г. ) самыми актуальными версиями ПО являются:
OwenLogic v. 2. 10. 366
EasyBuilder Pro. . .
|
Dev-c++5.11 Покорение вершины
russiannick 02.06.2025
С утра преследовала одна мысль - вот бы выучить С++. Сказано-сделано. Окончив смену, скачал в интернете бестселлер Дэвиса Dev-C++ для чайников. Книга оказалась интересной и я скачал среду, на примере. . .
|
Тестирование Pull Request в Kubernetes с GitHub Actions и GKE
Mr. Docker 02.06.2025
Мы все знаем, что тестирование на локальной машине или в изолированном CI-окружении — это не совсем то же самое, что тестирование в реальном кластере Kubernetes. Контекстно-зависимые ошибки, проблемы. . .
|