De taal Go reserveert twee functies voor speciale doeleinden: main() en init() . Dit zijn de dingen die u moet weten over het gebruik van de functies main() en init() in Golang .

main()-functie
In de Go-taal is het hoofdpakket een speciaal pakket dat wordt gebruikt met uitvoerbare programma's. Dit pakket bevat de functie main() . De main()-functie is een speciaal type functie en is het toegangspunt van uitvoerbare programma's. Er worden geen argumenten geaccepteerd en er wordt ook niets teruggestuurd. Go roept automatisch main() aan. Het is dus niet nodig om main() rechtstreeks aan te roepen. Elk uitvoerbaar programma moet één enkel hoofdpakket en één main()-functie bevatten.
Bijvoorbeeld:
// 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())
}
Resultaat:
Sorted slice: [2 5 10 76 78 123 345 567]
Index value: 3
Time: 1257894000
init()-functie
De init()-functie is net als de hoofdfunctie; deze heeft geen argumenten en retourneert niets. Deze functie is in elk pakket aanwezig en wordt aangeroepen wanneer het pakket wordt geïnitialiseerd. Deze functie wordt impliciet gedeclareerd. U kunt er dus niet vanaf een andere locatie naar verwijzen. U mag meerdere init()-functies in hetzelfde programma aanmaken. Deze worden uitgevoerd in de volgorde waarin ze zijn aangemaakt. U kunt init()-functies overal in het programma aanmaken en ze worden aangeroepen in de volgorde van de woordenboekbestandsnaam (alfabetische volgorde). U mag statements plaatsen als er een init()-functie is, maar onthoud altijd dat de init()-functie wordt uitgevoerd vóór de aanroep van de main()-functie en dus niet afhankelijk is van de main()-functie. Het hoofddoel van de init()-functie is het initialiseren van globale variabelen die niet in de globale context kunnen worden geïnitialiseerd.
Bijvoorbeeld:
// 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")
}
Resultaat:
Welcome to init() function
Hello! init() function
Welcome to main() function