TGViewer
Thank Go! Thank Go! @thank_go · 3.32K subscribers
Post #268 2.65K
Функциональные опции

Должен признаться, что терпеть не могу паттерн «функциональных опций», полюбившийся многим программистам на Go.

И особенно я не рад, что он пробрался в стдлибу вместе с новым пакетом json/v2 (финализирован в Go 1.27):

type Options interface { ... }

func Deterministic(v bool) Options
func FormatNilMapAsNull(v bool) Options
func FormatNilSliceAsNull(v bool) Options
// ...

func Marshal(in any, opts ...Options) (out []byte, err error)


Обычная структура (см. скриншот) лучше во всех отношениях, на мой взгляд.

А вы что думаете?
  • 👍 9
  • 🔥 1
More from @thank_go
  1. Sep 26, 2026Шпаргалка по многозадачности Подготовил интерактивную памятку по многозадачности в Go: — Г…
  2. Sep 2, 2026Множественный разврат возврат Сколько значений можно вернуть из функции через multi-return…
  3. Aug 31, 2026Ошибка ошибка ошибка ошибка Это выражение выглядит странновато, но оно полностью корректно…
  4. Aug 30, 2026Post #280
  5. Aug 25, 2026JSON v2 в Go 1.27 Вторая версия json-пакета впервые появилась как экспериментальная в Go 1…
  6. Aug 12, 2026strings.CutLast Из небольших изменений в Go 1.27 я больше всего рад strings.CutLast. Эта ф…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →