Maison  >  Article  >  développement back-end  >  Comment les paramètres de longueur variable dans les fonctions Golang sont-ils implémentés ?

Comment les paramètres de longueur variable dans les fonctions Golang sont-ils implémentés ?

WBOY
WBOYoriginal
2024-06-01 09:57:57486parcourir

Les fonctions du langage Go prennent en charge les paramètres de longueur variable, qui sont implémentés via le découpage. Les paramètres de longueur variable sont collectés dans une tranche du même type. Le paramètre de longueur variable doit être le dernier paramètre de la liste des paramètres. Le type est déduit par le compilateur et peut être de n'importe quel type.

Comment les paramètres de longueur variable dans les fonctions Golang sont-ils implémentés ?

Implémentation de paramètres de longueur variable dans les fonctions du langage Go

Les fonctions du langage Go prennent en charge les paramètres de longueur variable, ce qui signifie qu'elles peuvent accepter un nombre variable de paramètres. Ces paramètres sont appelés paramètres variadiques ou paramètres variadiques.

Syntaxe

La syntaxe des paramètres de longueur variable est la suivante :

func functionName(param1 type, param2 type, ...paramN type) returnType

où :

  • param1 et param2 sont de type type Les paramètres réguliers <code>param1param2 是类型为 type 的常规参数
  • ...paramN 是变长参数,类型为 type
  • returnType
  • ...paramN sont des paramètres de longueur variable, le type est type

returnType est la valeur de retour type de la fonction

Implémentation

Les paramètres variables dans le langage Go sont en fait implémentés à l'aide de tranches. Lorsque la fonction est appelée, les varargs sont rassemblés dans une tranche dont le type d'élément est du même type que les varargs.

Cas pratique

Ce qui suit est un cas pratique montrant comment utiliser les paramètres de longueur variable :

package main

import "fmt"

// sum 函数使用变长参数来计算参数的总和
func sum(arr ...int) int {
    sum := 0
    for _, v := range arr {
        sum += v
    }
    return sum
}

func main() {
    // 使用变长参数调用 sum 函数
    result := sum(1, 2, 3, 4, 5)
    fmt.Println(result) // 输出:15
}

    Remarque :
  • Le paramètre de longueur variable doit être le dernier paramètre de la liste des paramètres de la fonction.
  • Le type de tranche des paramètres de longueur variable est déduit par le compilateur et ne peut pas être spécifié explicitement.
🎜Les paramètres de longueur variable peuvent être de n'importe quel type, y compris des structures, des tableaux, des tranches, etc. 🎜🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn