Необязательные строки в Go
Каждый раз, когда я возвращаюсь к программированию на языке Golang, я сталкиваюсь с тем, что в этом языке нет стандартного решения для получения адреса строкового литерала. Особенно это необходимо при инициализации указателя на строку в структуре, например, когда она содержит необязательное строковое поле. Но не я один столкнулся с такой проблемой. Этот вопрос, в котором предлагали добавить в стандартную библиотеку метод получения адреса литерала, обсуждался на GitHub еще в 2020 году. Позиция мейнтейнеров мне понятна: она заключается в том, чтобы для опциональных значений в структуре не использовали указатели (а если хотите их использовать, то реализуйте эти методы сами). В какой-то мере я с ними согласен и поддерживаю их выбор. Но больше всего меня смущает не тот факт, что они не добавляют методы получения адреса в стандартную библиотеку, а то, что рекомендуемого мейнтейнерами подхода в ней самой нет, и разработчикам приходится использовать сторонние решения, такие как nan, mo или optional.
А какое решение выберите вы, когда будете реализовывать структуру с необязательным полем?