Also, heute, während ich programmiert habe, habe ich herausgefunden, dass das Erstellen einer Funktion mit dem Namen init
einen Fehler method init() not found
erzeugt hat, aber wenn ich es in startup
umbenannt habe, hat alles funktioniert.
Wird das Wort "init" für eine interne Operation in Go beibehalten oder fehlt mir hier etwas?
Ja, die Funktion init()
ist speziell. Es wird automatisch ausgeführt, wenn ein Paket geladen wird. Sogar das Paket main
kann eine oder mehrere init()
-Funktionen enthalten, die ausgeführt werden, bevor das eigentliche Programm beginnt: Ссылка
Es ist Teil der Paketinitialisierung, wie in der Sprachspezifikation erklärt: Ссылка
Es wird häufig zum Initialisieren von Paketvariablen usw. verwendet.
Sie können auch die verschiedenen Fehler sehen, die bei Verwendung von init
in golang/test/init.go
auftreten können. :
init
selbst wird verwaltet von golang/cmd/gc/init.c
:
Seine Verwendung wird in " dargestellt. Wann wird die Funktion init()
in go (olang) ausgeführt? "