English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutoriel de base Golang

Instructions de contrôle Golang

Fonction & Méthode Golang

Structure Golang

Coupe & Tableau Golang

Chaîne de caractères (String) Golang

Pointeur Golang

Interface Golang

Concurrence Golang

Erreurs Golang

Autres outils Golang

Fonctions main et init Go

Le langage Go conserve deux fonctions à usage spécial, qui sontmain()etinit()Fonction.

fonction principale

En langage Go,mainLe paquet est un paquet spécial utilisé avec l'exécutable, et ce paquet contientmain()Fonction.main()Fonction est un type spécial de fonction, c'est le point d'entrée de l'exécutable. Elle n'accepte pas de paramètres et ne retourne rien. Comme elle peut être appelée automatiquementmain()Fonction, donc il n'est pas nécessaire de l'appeler explicitementmain()Fonction, et chaque programme exécutable doit contenir un package main etmain()Fonction.

//Déclaration du paquet principal
package main
//Importer des paquets
import (
    "fmt"
    "sort"
    "strings"
    "time"
)
func principale() {
    //Trier la coupe
    s := []int{345, 78, 123, 10, 76, 2, 567, 5}
    sort.Ints(s)
    fmt.Println("Coupe triée : ", s)
    // Recherche de l'index
    fmt.Println("Valeur de l'index : ", strings.Index("w3codebox", "ks"))
    //Afficher l'horodatage actuel
    fmt.Println("Horodatage : ", time.Now().Unix())
}

Sortie :

Coupe triée :  [2 5 10 76 78 123 345 567]
Valeur de l'index :  -1
Horodatage :  1593335332

Fonction init()

Les fonctions init() sont comme la fonction principale, elles n'acceptent pas de paramètres et ne retournent rien. Chaque paquet contient cette fonction, et elle est appelée lors de l'initialisation du paquet. La fonction est déclarée implicitement, donc vous ne pouvez pas la faire appelée n'importe où, et vous pouvez créer plusieurs fonctions init() dans le même programme, et elles seront exécutées dans l'ordre de leur création. Vous pouvez créer des fonctions init() à n'importe quel endroit de votre programme, et elles sont appelées dans l'ordre alphabétique du nom de fichier (ordre alphabétique). Il est permis de placer des instructions dans la fonction init(), mais il faut toujours se souvenir d'exécuter la fonction init() avant la fonction principale(), donc elle ne dépend pas de la fonction principale().   L'objectif principal des fonctions init() est d'initialiser les variables globales qui ne peuvent pas être initialisées dans le contexte global.

package main 
  
import "fmt"
  
//Plusieurs fonctions init() 
func init() { 
    fmt.Println("Bienvenue dans la fonction init()") 
} 
  
func init() { 
    fmt.Println("Bonjour ! fonction init()") 
} 
  
func principale() { 
    fmt.Println("Bienvenue dans la fonction principale()") 
}

Sortie :

Bienvenue dans la fonction init()
Bonjour ! fonction init()
Bienvenue dans la fonction principale()