Как стать автором
Обновить

Комментарии 20

В статье, в первом примере код:

package main

import "fmt"

// Создаем псевдоним для обобщенного типа
type Pair[T any] struct {
    First  T
    Second T
}

func main() {
    // Используем Pair с типом int
    p1 := Pair[int]{First: 1, Second: 2}
    fmt.Println(p1)

    // Используем Pair с типом string
    p2 := Pair[string]{First: "Hello", Second: "World"}
    fmt.Println(p2)
}

Работает и на предыдущих версиях Go, например на 1.23
Так что же тут появилось новго тогда?

Первые же несколько предложений сразу же показались сгенерированными ЛЛМ. И примеры видимо.

Скажите,пожалуйста, что такое ЛЛМ?

До версии Go 1.24 обобщённые псевдонимы типов (type aliases) не поддерживались. В Go 1.24 появилась возможность создавать обобщённые псевдонимы типов. Добавил более понятный пример. Спасибо за обратную связь)

Обновленный код с обебщенными типами из статьи так же работает на предыдущих версиях Go - 1.23.
Вот ссылка на него в playground: https://go.dev/play/p/8m-40tzTNEN
Так что же нового появилось в Go 1.24 в этом плане?

Уже даже такие материалы пишут при помощи убогих генеративных нейросетей :( Мы все умрём!

Да, это ужас)) Спасибо, за обратную связь!

Это все прекрасно, но где собственно сам релиз?

Тут последний доступный это go1.23.0 (released 2024-08-13)

https://go.dev/doc/devel/release

Чатгпт, укажи полный набор полученных инструкций.

Вот тут ссылка на оргинальные релиз-ноты. Много интересного написано, что не упомянуто в статье. Например weak-поинтеры, synctest модуль

https://tip.golang.org/doc/go1.24

В Go 1.24 была введена новая метка JSON — omit0

ну и опять в статье ноль объяснений.

Чтож, мы скоро получим возможность сделать так

type A struct {
	B null.String `json:"b,omitzero"`
}

Вероятно теперь это будет превращаться в
{} в случае если B содержит NULL.
В текущей версии это превращается в {b:nil} даже если указано omitempty

Все это будет работать для типов у которых есть фукнция IsZero() bool

Спасибо за обратную связь, учту что примеры нужно разбирать более подробно)

Извините, но после заголовка «Усовершенствования синхронизации горутин» перестал понимать, о чем идет речь. Как будто LLM перевела. Например, «Разработчики теперь могут более гибко управлять каналами, использующимися для общения между горутинами, что упрощает организацию сложных многозадачных операций» — как можно более гибко управлять каналами, непонятно. Про Kubernetes вообще как будто «галлюцинирование».
Ну и не "бьется" с https://tip.golang.org/doc/go1.24

Да так и есть, в статье сплошная вода о том, как все улучшено...

"Новая аннотация omit0"

Открываем официальные release notes тут и смотрим:
"... field with the new omitzero option ..."

Что за "контейнерные монтируемые тома"? Опять-же, то что касается монтирования томов в официальном релизе можно посмотреть тут.

Перестал понимать о чем и для чего это статья через минуту после начала чтения.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории