English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Il linguaggio Go riserva due funzioni a uso speciale, che sonomain()einit()funzione.
Nel linguaggio Go,mainUn pacchetto è un pacchetto speciale utilizzato insieme al programma eseguibile e contienemain()funzione.main()Una funzione è un tipo speciale di funzione, che è il punto di ingresso dell'esecuzione del programma. Non accetta alcun argomento e non restituisce alcun contenuto. Poiché può essere chiamata automaticamentemain()funzione, quindi non è necessario chiamarla esplicitamentemain()funzione, e ogni programma eseguibile deve includere un package main emain()funzione.
// Dichiarazione del pacchetto principale package main // Importa pacchetti import ( "fmt" "sort" "strings" "time" ) func main() { // Ordina la slice s := []int{345, 78, 123, 10, 76, 2, 567, 5} sort.Ints(s) fmt.Println("Slice ordinato: ", s) // Cerca il valore dell'indice fmt.Println("Valore dell'indice: ", strings.Index("w3codebox", "ks")) // Mostra il timestamp corrente fmt.Println("Timestamp: ", time.Now().Unix()) }
Output:
Slice ordinato: [2 5 10 76 78 123 345 567] Valore dell'indice: -1 Timestamp: 1593335332
La funzione init() è come la funzione main(), senza parametri né valore di ritorno. Questa funzione esiste in ogni pacchetto e viene chiamata durante l'inizializzazione del pacchetto. La funzione è implicitamente dichiarata, quindi non puoi referenziarla da nessuna parte, e puoi creare più funzioni init() nello stesso programma, che verranno eseguite nell'ordine di creazione. Puoi creare la funzione init() in qualsiasi posizione del programma, e vengono chiamate in ordine alfabetico del nome del file lessicale. E consente di inserire istruzioni nella funzione init(), ma sempre ricordando di eseguire la funzione init() prima della chiamata alla funzione main(), quindi non dipende dalla funzione main(). L'obiettivo principale della funzione init() è inizializzare le variabili globali che non possono essere inizializzate nel contesto globale.
package main import "fmt" // più funzioni init() func init() { fmt.Println("Benvenuto nella funzione init()") } func init() { fmt.Println("Ciao! funzione init()") } func main() { fmt.Println("Benvenuto nella funzione principale()") }
Output:
Benvenuto nella funzione init() Ciao! funzione init() Benvenuto nella funzione principale()