Die Sprache Go hat zwei spezielle Funktionen reserviert: main() und init() . Hier erfahren Sie, was Sie über die Verwendung der Funktionen main() und init() in Golang wissen sollten .

main()-Funktion
In Go ist das Hauptpaket ein spezielles Paket für ausführbare Programme. Dieses Paket enthält die Funktion main() . Die Funktion main() ist ein spezieller Funktionstyp und dient als Einstiegspunkt für ausführbare Programme. Sie akzeptiert keine Argumente und gibt nichts zurück. Go ruft die Funktion main() automatisch auf, sodass ein direkter Aufruf der Funktion main() nicht erforderlich ist. Jedes ausführbare Programm muss ein Hauptpaket und eine eindeutige Funktion main() enthalten.
Zum Beispiel:
// Chương trình Go minh họa
// khái niệm của hàm main()
// Khai báo gói chính
package main
// Nhập các gói
import (
"fmt"
"sort"
"strings"
"time"
)
// Hàm chính
func main() {
// Sắp xếp slice đưa ra
s := []int{345, 78, 123, 10, 76, 2, 567, 5}
sort.Ints(s)
fmt.Println("Sorted slice: ", s)
// Tìm chỉ mục
fmt.Println("Index value: ", strings.Index("Quantrimang", "ks"))
// Tìm thời gian
fmt.Println("Time: ", time.Now().Unix())
}
Ergebnis:
Sorted slice: [2 5 10 76 78 123 345 567]
Index value: 3
Time: 1257894000
init()-Funktion
Die Funktion init() ist genau wie die Hauptfunktion, sie akzeptiert keine Argumente und gibt nichts zurück. Sie ist in jedem Paket vorhanden und wird aufgerufen, wenn das Paket initialisiert wird. Sie ist implizit deklariert, Sie können also nicht von irgendwoher darauf verweisen, und Sie dürfen mehrere init()-Funktionen im selben Programm erstellen, die in der Reihenfolge ausgeführt werden, in der sie erstellt werden. Sie dürfen init()-Funktionen überall im Programm erstellen, und sie werden in der Reihenfolge des Wörterbuchdateinamens aufgerufen (alphabetische Reihenfolge). Sie dürfen Anweisungen einfügen, wenn eine init()-Funktion vorhanden ist, aber denken Sie immer daran, dass die init()-Funktion vor dem Funktionsaufruf main() ausgeführt wird und daher unabhängig von der main()-Funktion ist. Der Hauptzweck der init()-Funktion besteht darin, globale Variablen zu initialisieren, die im globalen Kontext nicht initialisiert werden können.
Zum Beispiel:
// Chương trình Go minh họa
// khái niệm của hàm init()
// Khai báo gói chính
package main
// Nhập gói
import "fmt"
// Hàm init() có nhiều nhánh
func init() {
fmt.Println("Welcome to init() function")
}
func init() {
fmt.Println("Hello! init() function")
}
// Hàm chính
func main() {
fmt.Println("Welcome to main() function")
}
Ergebnis:
Welcome to init() function
Hello! init() function
Welcome to main() function