2017-02-19 15 views
7

Die Intro/Probe gehen progs Ich habe mit Start gesehen und experimentierte mitPackage "main" und Func "main"

package main 

und haben

func main() 

Gibt es eine Beziehung zwischen dem " main "in der Paketlinie und das" main "in der func-Linie? Ich vermute nicht. C/C++ verwendet den gleichen "Haupt" -Eintrittspunkt. Ich will nur sichergehen. Ich habe keine Dokumente gesehen, die sagen, dass die Verwendung von "Main" nur ein Zufall ist.

+1

Natürlich ist es kein * Zufall *, sie werden beide aus einem guten Grund genannt. – hobbs

Antwort

11

der Einstiegspunkt für die Anwendung ist die main Funktion im main Paket as described in the specification:

Ein vollständiges Programm wird durch die Verknüpfung von einem einzigen, unimported Paket erstellt das Hauptpaket mit allen Paketen genannt es importiert , transitiv. Das Hauptpaket muss den Paketnamen main haben und eine Funktion main deklarieren, die keine Argumente akzeptiert und keinen Wert zurückgibt.

func main() { … } 

Die Programmausführung beginnt mit dem Hauptpaket initialisiert und dann die Funktion main aufrufen. Wenn dieser Funktionsaufruf zurückkehrt, wird das Programm beendet. Es wartet nicht darauf, dass andere (Nicht-Haupt) -Gorutinier vervollständigt werden.

+0

Vielen Dank für die Erklärung des Pakets. – mnemotronic