Как реализовать Maybe/Optional?

Middle
53 просмотров
AFK Offer AI

С дженериками: type Maybe[T any] struct { value T; present bool }. Конструкторы Some(v) и None[T](). Методы Get() (T, bool) и MustGet(). Это чище указателей — нет случайного разыменования nil. Но в реальных Go проектах чаще видишь *T или кастомные Null-типы по аналогии с sql.NullString. Полноценные Option типы популярны в библиотеках вроде samber/mo.

Следующий вопрос

Что такое gomail?