est venu accrocher la fonction ci-dessous ici . J'ai remarqué que le dernier paramètre est identifié avec _ code>. Quelle est l'intention de ce modèle?
4 Réponses :
_ est le identifiant vide . Il est dans la signature de montrer que la valeur n'utilise pas, la signature correspondra toujours aux méthodes de l'interface. P>
Cela signifie "ignorer ce paramètre", la raison pour laquelle ils ont toujours besoin du dernier paramètre ici sont parce qu'ils veulent le transmettre comme Si vous laissez simplement passer quelque chose comme type code> à la fonction obtenez code>, qui a la signature: p>
Type Handink Func (http.Responsewriter, * http.request, paramètres) code> p>
index Func (w http.responsewriter, r * http.request) code> Il ne sera pas traité comme type code>. p>.
Comme d'autres ont souligné, c'est un Identifiant vide . Par exemple, considérons l'exemple suivant:
func main() {
nums := []int{5, 3, 4}
max := nums[0]
for _, num := range nums {
if num > max {
max = num
}
}
fmt.Println("max:", max)
}
La question de l'OP concerne le paramètre de fonction. Je ne pense pas que vous répondiez à la question.
Utiliser "_" à la place d'un nom de paramètre remplit les obligations d'une "fonction de base en tant que paramètre" sans obtenir un avertissement d'un paramètre inutilisé. Dans votre cas, je pense que le compilateur est dit d'ignorer toutes les données "post" entrantes, ce qui réduit donc la demande à la fonctionnalité d'un "get". p>
Questions connexes: 1. Obtenir des noms de paramètres de méthode à Golang ; 2. Pourquoi va-t-il permettre la compilation de paramètres de fonction inutilisés? a>