The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск языка Go 1.20. SourceHut отменил блокировку зеркала модулей Go"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Присылайте удачные настройки в раздел примеров файлов конфигурации на WIKI.opennet.ru.
. "Выпуск языка Go 1.20. SourceHut отменил блокировку зеркала м..." +/
Сообщение от cheshirekot (ok), 06-Фев-23, 19:41 
>> У вас проблема в том, что вы не можете отделить в тексте абстракцию от подробностей её реализации.

Разрешите воспользоваться вашей же аналогией с автомобилем:
Вот есть автомобиль - "Самодвижущееся транспортное средство с двигателем для перевозки грузов и пассажиров по безрельсовым путям". В целом, у него внутри может быть ДВС, может быть электродвигатель, может быть паровой котел - вообще по барабану. Пока оно само едет - это автомобиль, остальное - детали реализации. Это наш условный std::vector либо любая другая реализация динамического массива.

А вот рядом с ним стоит прицеп. У него и колеса, как у автомобиля, и блестит так же... Всего один недостаток у прицепа - у него нет внутри двигателя. Вот не едет он сам, и все. Хоть лошадь запрячь - но надо. Но вы не волнуйтесь, это не беда. Для того, чтобы он ехал (в нашем случае, менял размер), вам дают стандартный мотоблок (append). Он немного с причудами, отказывается один и тот же прицеп дальше установленного производителем расстояния везти, поэтому раз в 50 км приходится цеплять к нему новый прицеп, пересаживаться, и только потом ехать дальше.

Ну вот я говорю, что автомобиль - транспортное средство С ДВИГАТЕЛЕМ, а потому прицеп автомобилем не считается, даже если есть всегда доступный напрокат мотоблок. А вы говорите, что если в ближайшем пункте проката есть доступные мотоблоки, то любая хрень с колесами считается автомобилем.

Ну а про абстракцию: абстракция на то и абстракция, что АБСТРАГИРУЕТ нас от деталей реализации. От ручного ресайза нас слайс не абстрагирует, поэтому он нифига и не динамический.

>> The length of a slice s can be discovered by the built-in function len; unlike with arrays it may change during execution.

Блин:

slice := make([]int, 1, 1)

Покажите мне, пожалуйста, как вы штатными средствами измените length (ну или, хотя бы, capacity) этого слайса, тогда признаю себя неправым. Просто маааленький кусочек кода...
Ну, не покажете - тогда он не динамический, ЧИТД.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск языка Go 1.20. SourceHut отменил блокировку зеркала модулей Go, opennews, 02-Фев-23, 11:04  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру