Post Thumbnail

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

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

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

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

Похожее

Post Thumbnail

Rune

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