L'éditeur php Xinyi est là pour vous présenter une nouvelle fonctionnalité : l'opérateur Go deux-points est égal et une nouvelle variable. La fonction de cet opérateur est de créer une nouvelle variable dans le langage Go et de l'initialiser à la valeur d'une expression. L'introduction de cette fonctionnalité rend le code plus concis et plus lisible, tout en réduisant la quantité de code redondant. En utilisant l'opérateur deux-points égal, nous pouvons attribuer une valeur à une variable tout en la déclarant, améliorant ainsi l'efficacité et la lisibilité du code. Dans l'article suivant, nous présenterons en détail l'utilisation et les précautions de cette nouvelle fonctionnalité, dans l'espoir d'apporter aide et inspiration à tout le monde.
Ce n'est peut-être pas une nouvelle question, mais je ne trouve la réponse nulle part.
Avec ce code, aucun des opérateurs :=
或 =
ne travaille sur la ligne d'appel de fonction à l'intérieur de la boucle.
J'ai un cas d'utilisation dans lequel je dois déclarer un grand tableau une fois en dehors d'une boucle for, le mettre à jour dans une fonction, puis le renvoyer. Mais la fonction renvoie également une autre variable différente à chaque fois et utilisée dans cette boucle.
Allez sur le lien du terrain de jeu : 1
import "fmt" func someFunc(names []string) (int, []string) { foo := 35 // Just for the example names = append(names, "Bob") return foo, names } func main() { names := []string{"Fred", "Mary"} for i := 0; i < 10; i++ { newVariable, names := someFunc(names) // This line is the problem fmt.Println(newVariable) } }
Comment puis-je refactoriser cela pour qu'il fonctionne comme prévu ?
Que diriez-vous de déclarer newVariable avant := ?
for i := 0; i < 10; i++ { var newVariable int newVariable, names = someFunc(names) fmt.Println(newVariable) }
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!