понятно, что есть люди, пришедшие из языков, в которых отсутствие явной инициализации приведёт к значениям null, undefined и т.д., но в go это не так.
Язык, на котором разрабатываешь, нужно знать.
Нулевые значения — это базовый уровень, который по какой-то причине люди пропустили. Скорее всего не обратили должного внимания, так как в других языках привыкли явно инициализировать переменные нулевым значением.
Но мы так можем и до абсурда дойти, типа:
const EMPTY_STRING = ""
s := EMPTY_STRING
Уверен, найдутся те, кто этот вариант назовёт ещё более читабельным и понятным, но что это даст на практике?
ЗЫ: особенно забавно читать про go 123.45, в котором зачем-то вдруг могут решить пересмотреть нулевые значения)
Согласен, поддерживаю
> Слушай, ну указывать явно нулевое значение, это очень сомнительный плюс. Да, понятно, что есть люди, пришедшие из языков, в которых отсутствие явной инициализации приведёт к значениям null, undefined и т.д., но в go это не так. Иногда, отсутствие явной инициализации вызывает ошибку при компиляции. Наверное, я больше за такой подход. Хотя, он не везде есть. Так-то я не спорю про то, какой вариант лучше. Я просто написал, что второй вариант короче, но явное указание типа + учитывая, что в go есть такие нулевые значения - явно лучше, чем просто := "". Как я и написал выше, что согласен) > Язык, на котором разрабатываешь, нужно знать. Но мы так можем и до абсурда... Согласен. Я больше за то, чтобы использовались стандартные средства языка, а не что-то костылилось из других языков. > ЗЫ: особенно забавно читать про go 123.45, в котором зачем-то вдруг могут решить пересмотреть нулевые значения) Это рофл же. Человек писал ещё в прошлом году, что "вдруг в go 123.45 будут иначе работать нулевые значения". Я не думаю, что обратную совместимость будут нарушать вообще.
Обсуждают сегодня