Range Over Function Types
https://go.dev/blog/range-functions
Подробный пост в официальном блоге разработчиков Go о том, зачем добавили итераторы в Go 1.23, что они из себя представляют, как их использовать, приводят примеры.
#go_official #go_1_23
https://go.dev/blog/range-functions
Подробный пост в официальном блоге разработчиков Go о том, зачем добавили итераторы в Go 1.23, что они из себя представляют, как их использовать, приводят примеры.
#go_official #go_1_23
go.dev
Range Over Function Types - The Go Programming Language
A description of range over function types, a new feature in Go 1.23.
8🔥11👍7 2
unique - новый пакет в стандартной библиотеке Go 1.23
https://go.dev/blog/unique
Ещё один интересный пост в официальном блоге авторов Go с подробным объяснением очередной интересной новинки в версии 1.23
Пакет unique упрощает работу с дубликатами. То есть, он позволяет выполнять дедупликацию таким хитрым образом, чтобы все ссылки указывали на единственную, уникальную копию. При этом пакет эффективно управляет этими копиями под капотом.
Возможно, вы уже встречали этот подход под названием Interning.
Автор статьи рассказывает и показывает, как это работает, и почему это полезно.
#go_official #go_1_23
https://go.dev/blog/unique
Ещё один интересный пост в официальном блоге авторов Go с подробным объяснением очередной интересной новинки в версии 1.23
Пакет unique упрощает работу с дубликатами. То есть, он позволяет выполнять дедупликацию таким хитрым образом, чтобы все ссылки указывали на единственную, уникальную копию. При этом пакет эффективно управляет этими копиями под капотом.
Возможно, вы уже встречали этот подход под названием Interning.
Автор статьи рассказывает и показывает, как это работает, и почему это полезно.
#go_official #go_1_23
go.dev
New unique package - The Go Programming Language
New package for interning in Go 1.23.
1 30👍9🤔1
What's in an (Alias) Name?
https://go.dev/blog/alias-names
В версии Go 1.24, которая запланирована на начало февраля 2025 года, появится возможность объявлять generic alias type (пока можете почитать proposal).
В этой статье авторы Go объясняют что это и зачем. Заодно тут есть небольшой ликбез по обычному alias type.
Как обычно, буду честен — на мой взгляд, эта фича вряд ли пригодится многим из вас. Автор статьи позиционирует её как средство для рефакторинга пакетов, в которых есть дженерики — а много у вас таких пакетов?🙃
Но, в любом случае, потратить 10-15 минут своего времени на ознакомление с новой фичей своего инструмента считаю полезным занятием. Тем более, когда сами авторы стараются и пишут для нас подобные разборы.
————
В комментариях было бы особенно интересно увидеть людей, которые эту фичу очень ждут. Расскажите, почему?
#go_official #go_1_23
https://go.dev/blog/alias-names
В версии Go 1.24, которая запланирована на начало февраля 2025 года, появится возможность объявлять generic alias type (пока можете почитать proposal).
В этой статье авторы Go объясняют что это и зачем. Заодно тут есть небольшой ликбез по обычному alias type.
Как обычно, буду честен — на мой взгляд, эта фича вряд ли пригодится многим из вас. Автор статьи позиционирует её как средство для рефакторинга пакетов, в которых есть дженерики — а много у вас таких пакетов?
Но, в любом случае, потратить 10-15 минут своего времени на ознакомление с новой фичей своего инструмента считаю полезным занятием. Тем более, когда сами авторы стараются и пишут для нас подобные разборы.
————
В комментариях было бы особенно интересно увидеть людей, которые эту фичу очень ждут. Расскажите, почему?
#go_official #go_1_23
Please open Telegram to view this post
VIEW IN TELEGRAM
go.dev
What's in an (Alias) Name? - The Go Programming Language
A description of generic alias types, a planned feature for Go 1.24
👍13❤7 2
Golang Дайджест
Range Over Function Types https://go.dev/blog/range-functions Подробный пост в официальном блоге разработчиков Go о том, зачем добавили итераторы в Go 1.23, что они из себя представляют, как их использовать, приводят примеры. #go_official #go_1_23
Ranging over functions in Go 1.23
https://eli.thegreenplace.net/2024/ranging-over-functions-in-go-123/
Ещё один неплохой пост про
#go_1_23
https://eli.thegreenplace.net/2024/ranging-over-functions-in-go-123/
Ещё один неплохой пост про
range
по функциям, который ввели в Go v1.23: что это и как пользоваться.#go_1_23
🔥9❤3🤯1
Развлекаемся с итераторами в Go
Перевод и оригинал
Очередной пост про итераторы в Go. Не воспринимайте его как руководство к действию, такого посыла там и нет. Скорее как повод порассуждать.
В чём суть. Автор недоволен громоздкими конструкциями по типу:
И хочет сделать как в JS:
Поэтому он реализовал методы: From (создание итератора), Collect (сбор в слайс), Each (обход), Reverse (разворот), Map (преобразование) и Filter.
Получается, конечно, красиво, но автор сам же признаёт:
А я напомню, что желание красоты, без учёта других потребностей, когда-то привело людей к CoffeeScript.
#iterators #go_1_23
Перевод и оригинал
Очередной пост про итераторы в Go. Не воспринимайте его как руководство к действию, такого посыла там и нет. Скорее как повод порассуждать.
В чём суть. Автор недоволен громоздкими конструкциями по типу:
// В пакете slices нет функций Map, Filter или ForEach
// Это просто пример
slices.ForEach(
slices.Filter(
slices.Map(
slices.Reverse(slices.All([]int{1,2,3,4})),
func(i int) int { return i * i},
),
func(i int) bool { return i % 2 == 0 }
),
func(i int) { fmt.Println(i) }
)
И хочет сделать как в JS:
From([]int{1,2,3,4}).
Reverse().
Map(func(i int) int { return i * i }).
Filter(func(i int) bool { return i%2 == 0 })
Поэтому он реализовал методы: From (создание итератора), Collect (сбор в слайс), Each (обход), Reverse (разворот), Map (преобразование) и Filter.
Получается, конечно, красиво, но автор сам же признаёт:
я понимаю почему команда Go реализовала итераторы по другому
А я напомню, что желание красоты, без учёта других потребностей, когда-то привело людей к CoffeeScript.
#iterators #go_1_23
Хабр
Развлекаемся с итераторами в Go
Релиз версии Go 1.23 добавил поддержку итераторов и пакет iter . Теперь можно перебирать константы, контейнеры ( map , slice , array , string ) и функции. Сначала создание итератора показалось...
👍8🤔3
Go 1.23: Interactive release notes
https://antonz.org/go-1-23/
Ещё немного про v1.23. Недавно мне скинули вот такую крутую страничку, где про новведения не только можно почитать, но и потыкать не отходя от кассы. Очень удобно.
Ну и текст написан хорошо.
Лучи добра и уважения автору❤️
#go_1_23
https://antonz.org/go-1-23/
Ещё немного про v1.23. Недавно мне скинули вот такую крутую страничку, где про новведения не только можно почитать, но и потыкать не отходя от кассы. Очень удобно.
Ну и текст написан хорошо.
Лучи добра и уважения автору
#go_1_23
Please open Telegram to view this post
VIEW IN TELEGRAM
antonz.org
Go 1.23 interactive tour
Iterators, timers and canonical values.
👍20🔥7❤3🤯1