Latest web development tutorials

Go Fonctions linguistiques

La fonction est le bloc de base de code pour l'exécution d'une tâche.

Aller langue une fonction au moins principal ().

Vous pouvez diviser les différentes fonctions via la logique de fonction à exécuter chaque fonction est spécifiée tâche.

Déclaration de fonction indique le nom du compilateur de fonction, type de retour, et les paramètres.

Aller bibliothèque standard de langue offre une variété de fonctions intégrées peuvent utiliser. Par exemple, la fonction len () peut accepter différents types d'arguments et renvoie le type de longueur. Si nous passons une longueur de chaîne de la chaîne est retournée, si les numéros entrants, la fonction retourne le nombre contenu dans le tableau.


Définition de la fonction

Allez fonction du langage est défini dans le format suivant:

func function_name( [parameter list] ) [return_types] {
   函数体
}

Analytique de la fonction:

  • func: fonction commence une déclaration du fonc
  • function_name: nom de la fonction, le nom de la fonction et la liste des paramètres, ensemble, constituent la signature de fonction.
  • liste de paramètres]: la liste des paramètres, paramètre comme un espace réservé, lorsque la fonction est appelée, vous pouvez passer une valeur au paramètre, cette valeur est appelée les paramètres réels. Liste des paramètres spécifie le type de paramètre, l'ordre et le nombre de paramètres. Paramètre est facultative, cette fonction ne peut pas contenir des paramètres.
  • return_types: type de retour, la fonction retourne une valeur. return_types est le type de la valeur de colonne de données. Certaines fonctions ne doivent pas retourner une valeur, auquel cas return_types pas nécessaire.
  • Corps de la fonction: La fonction définie ensemble de codes.

Exemples

Les exemples suivants sont max () code de fonction, la fonction passé deux paramètres entiers num1 et num2, et renvoie la valeur maximale de ces deux paramètres:

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
   /* 声明局部变量 */
   var result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result 
}

appel de fonction

Lorsque vous créez une fonction, vous définissez une fonction de ce qui doit être fait pour accomplir les tâches en appelant la fonction de changement.

Appelez la fonction, en passant les paramètres de la fonction et les valeurs de retour, par exemple:

package main

import "fmt"

func main() {
   /* 定义局部变量 */
   var a int = 100
   var b int = 200
   var ret int

   /* 调用函数并返回最大值 */
   ret = max(a, b)

   fmt.Printf( "最大值是 : %d\n", ret )
}

/* 函数返回两个数的最大值 */
func max(num1, num2 int) int {
   /* 定义局部变量 */
   var result int

   if (num1 > num2) {
      result = num1
   } else {
      result = num2
   }
   return result 
}

Les exemples ci-dessus appellent la fonction main () fonction max (), le résultat est:

最大值是 : 200

retour de la fonction des valeurs multiples

Go fonction peut retourner plusieurs valeurs, par exemple:

package main

import "fmt"

func swap(x, y string) (string, string) {
   return y, x
}

func main() {
   a, b := swap("Mahesh", "Kumar")
   fmt.Println(a, b)
}

Les exemples ci-dessus la mise en œuvre des résultats:

Kumar Mahesh

Arguments de la fonction

Si les paramètres de la fonction, la variable peut être renvoyé au paramètre de fonction.

Les paramètres tels que définis dans les fonctions variables locales dans le corps.

Appelez la fonction, vous pouvez passer des paramètres de deux façons:

Type de livraison description
transfert de valeur La valeur est transmise lors de l'appel de la fonction se réfère aux paramètres réels passés à la fonction de copie, de sorte que si les paramètres de la fonction peuvent être modifiés, ne sera pas affecter les paramètres réels.
Passé par référence Passant par référence fait référence à l'appel de la fonction passe l'adresse du paramètre réel à la fonction, la fonction de modifier les paramètres effectués, aura une incidence sur les paramètres réels.

Par défaut, la langue Go est passé par valeur, qui est, au cours de l'appel ne sera pas affecter les paramètres réels.


l'utilisation de la fonction

l'utilisation de la fonction description
Fonctions comme valeurs Une fois la fonction est définie comme une valeur à utiliser
fermetures Les fermetures sont des fonctions anonymes peuvent être utilisées dans la programmation dynamique
manière La méthode est une fonction qui contient le destinataire