Limbajul Go rezervă două funcții pentru scopuri speciale și acele funcții sunt main() și init() . Iată ce trebuie să știți despre utilizarea funcțiilor main() și init() în Golang .

funcția main().
În limbajul Go, pachetul principal este un pachet special utilizat cu programe executabile și acest pachet conține funcția main() . Funcția main() este un tip special de funcție și este punctul de intrare al programelor executabile. Nu primește niciun argument și nu returnează nimic. Go apelează automat main(), deci nu este nevoie să apelați direct main() și fiecare program executabil trebuie să conțină un singur pachet principal și funcție main().
De exemplu:
// 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())
}
Rezultat:
Sorted slice: [2 5 10 76 78 123 345 567]
Index value: 3
Time: 1257894000
funcția init().
Funcția init() este la fel ca și funcția principală, nu primește niciun argument și nu returnează nimic. Această funcție este prezentă în fiecare pachet și este apelată atunci când pachetul este inițializat. Această funcție este declarată implicit, deci nu o puteți referi de nicăieri și este permisă crearea mai multor funcții init() în același program și sunt executate în ordinea în care au fost create. Aveți voie să creați funcții init() oriunde în program și acestea sunt apelate în ordinea numelui fișierului de dicționar (ordine alfabetică). Aveți voie să puneți instrucțiuni dacă există o funcție init(), dar amintiți-vă întotdeauna că funcția init() este executată înainte de apelul funcției main(), deci nu depinde de funcția main(). Scopul principal al funcției init() este de a inițializa variabile globale care nu pot fi inițializate în context global.
De exemplu:
// 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")
}
Rezultat:
Welcome to init() function
Hello! init() function
Welcome to main() function