Post Thumbnail

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

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

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

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

Похожее

Post Thumbnail

GopherCon UK 2026

Видосы с GopherCon UK 2026 подоспели. Много всего интересного. Девид Чейни, Билл...