Search
Write a publication
Pull to refresh

Вышел Go 1.23!

Привет, Хабр!

В этом посте я напишу все основные изменения в новой версии Go:

  1. Range-over func

    Эксперимент с range-over func теперь основательно является частью Go

    Подробнее про range-over func читать здесь: https://go.dev/wiki/RangefuncExperiment

  2. Телеметрия

    Добавили Go Telemetry для отслеживания работы Go Toolchain. Сами разработчики Golang советуют включить эту опцию, так как она еженедельно будет анонимно отсылать информацию на https://telemetry.go.dev/ для улучшения работы Toolchain

    Подробнее про команду "go telemetry" читать здесь: https://pkg.go.dev/cmd/go#hdr-Manage_telemetry_data_and_settings

  3. Таймер

    Изменения также коснулись и "time.Timer" и "time.Ticker"

    Во-первых - "Тикеры" и "Таймеры", не упоминающиеся программой - становятся допустимыми для сборки мусора, даже если не был вызван метод "Stop"

    Во-вторых - теперь каналы "Таймера" и "Тикера" не буферированы. Это объясняется тем, что для вызова методов Reset или Stop не будет устаревших подготовленных значений

  4. Unique

    Добавлен новый пакет "unique": https://pkg.go.dev/unique

  5. Iter

    Добавлен новый пакет "iter": https://pkg.go.dev/iter

  6. Slices

    В пакет "slices" добавили несколько функций, которые работают с итераторами: https://go.dev/doc/go1.23#iterators

  7. Maps

    В пакет "maps" тоже добавили несколько функций для работы с итераторами: https://go.dev/doc/go1.23#iterators

  8. Structs

    Добавлен новый пакет "structs", который предоставляет новые типы для struct-полей: https://pkg.go.dev/structs

Это и еще многое читайте на официальном сайте Go!

Tags:
Total votes 3: ↑2 and ↓1+3
Comments2

Articles