Post Thumbnail

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

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

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

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

Похожее

Post Thumbnail

C на Go

Интересный пропозал - добавить возможность сборки Go-пакетов, использующих cgo д...

Post Thumbnail

Rune

Команда Unstable Build заопенсорсила свою нативную IDE Rune, написанную на Go. ...