Pull to refresh

Comments 5

Использовать init уже давно не рекомендуется самим гуглом.

Я был слегка удивлён, когда просто import мне добавил несколько опций в сommand-line options, и мой --help стал выбавать ещё какую-то хрень, о которой я не ожидал.

И, главное, я просто хочу подключить внешнюю библиотеку, и не затащить ещё себе опций в комманд-лайн дополнительных.

Пакет собирает несколько исходных файлов в одном каталоге. Он похож на ящик, в котором находятся некоторые инструменты или небольшая машина. Он является отправной точкой для инициализации всего пакета

Ммм.. что? Пакет является отправной точкой для инициализации пакета?

Пакет по-прежнему работает. Но функция init выполняется неявно, как вы и не знали. В Golang вы должны принять затраты на init, если вы являетесь пользователем пакета. Это просто, но затраты будут не только на неявно выполняемую функцию, но и на весь пакет.

Как мы и не знали, мы должны принять затраты...

Текст, вроде, перевели, но хотелось бы на русский язык.

Когда я только начинал знакомиться с Го, первое, о чемя подумал после прочтения о функции init, было "Вау! Тут же можно без каких-то костылей просто и беззастенчиво генерировать синглтоны!" Должен признаться, я с таким подходом знатно наговнокодил в своём первом коммерческом проекте на Го...

Спасибо за пояснение! Из-за воплей линтера давно ее не использую, но интересно было узнать почему ее не любят. :)

Sign up to leave a comment.

Articles