Post Thumbnail

Прикольная статья если вы хотите поковыряться в итераторах, джинериках и вот в этих новых фишечках Go.

Автор в шутливой форме проводит мысленный эксперимент: как бы выглядела эволюция функции Backward для обхода слайса в обратном порядке, если бы ее писал не Go-разработчик из Google, а обычный программист

Начав с простого копирования слайса, он шаг за шагом усложняет решение - добавляет замыкание, колбэк-итератор, поддержку индексов, а затем и дженерики для пользовательских типов слайсов. И в итоге приходит приходит к той самой "сложной" сигнатуре из стандартной библиотеки (func Backward[Slice ~[]E, E any](s Slice) iter.Seq2[int, E]).

Навороченная версия из slices оправдана универсальностью, но для конкретных проектных задач часто достаточно более простого варианта

Похожее

Post Thumbnail

Go 1.27

Антон Жиянов делал интерактивные туры по Go с версии 1.22 по 1.26, но решил оста...

Post Thumbnail

SIMD в go

Будущее пришло быстрее, чем ожидалось: в go1.27rc2 пакет simd стал портируемым, ...

Post Thumbnail

Swiss Tables

Статья подробно разбирает переход Go 1.24 от классической bucket-архитектуры мап...