2017-02-19 7 views
7

ходу Progs интро/образец, я видел и экспериментировал с начала сПакет «главный» и FUNC «главный»

package main 

и имеют

func main() 

Есть ли связь между " main "в строке пакета и" main "в строке func? Я предполагаю, что нет. C/C++ использует ту же «основную» точку входа. Просто хочу убедиться, хотя. Я не видел никаких документов, которые говорят, что использование «main» - это просто совпадение.

+1

Конечно, это не совпадение *, они оба названы так по уважительной причине. – hobbs

ответ

11

Точка входа для приложения является main функцией в main пакете as described in the specification:

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

func main() { … } 

Выполнение программы начинается с инициализации основной пакет, а затем вызова функции main. Когда возвращается эта функция, программа завершает работу. Он не дожидается завершения других (не главных) goroutines.

+0

Благодарим вас за упаковку описание. – mnemotronic