При написании одного пакета, предназначенного для использования в качестве команды, это идиоматично: называть все идентификаторы частными или называть все идентификаторы общедоступными?

В Go общедоступные имена начинаются с заглавной буквы, а частные имена начинаются со строчной буквы.

Я пишу программу, которая не является библиотекой и представляет собой единый пакет. Есть ли какая-нибудь идиома Go, которая определяет, должны ли мои идентификаторы быть все общедоступными или только частными? Я не планирую использовать этот пакет как библиотеку или что-то, что следует импортировать из другой программы Go.

Я не могу придумать ни одной причины, по которой мне нужна смесь. Это «кажется», что приватность — это правильный выбор.


Я не думаю, что получил какой-то конкретный ответ, но Нейт был ближе всего к тому, чтобы посоветовать мне думать о «экспорте против неэкспорта» вместо «общественного и частного».

Это наводит меня на мысль, что лучше всего ничего не экспортировать. В худшем случае, если я в конечном итоге импортирую код из своего приложения в другой пакет, мне придется переосмыслить, что следует экспортировать, а что нет. Что хорошо, ИМО.

5
задан BurntSushi5 15 March 2012 в 16:11
поделиться