Ce qui suit pour la boucle dans Go n'est pas autorisé,
for i := 0, j := 1; i < 10; i++, j++ {...}
Quel est l'équivalent correct de la boucle for de deux variables ci-dessous?
for (int i = 0, j = 1; i < 10; i ++ , j ++) {...}
Ce qui suit pour la boucle dans Go n'est pas autorisé,
for i := 0, j := 1; i < 10; i++, j++ {...}
Quel est l'équivalent correct de la boucle for de deux variables ci-dessous?
for (int i = 0, j = 1; i < 10; i ++ , j ++) {...}
Vous n'avez pas d'opérateur virgule pour joindre plusieurs instructions, mais vous avez plusieurs affectations, donc cela fonctionne :
package main
import (
"fmt"
)
func main() {
for i, j := 0, 1; i < 10; i, j = i+1, j+1 {
fmt.Println("Hello, playground")
}
}
Bien que la Réponse ci-dessus est acceptée, et satisfaire pleinement le besoin. Mais je voudrais apporter quelques explications.
Golang Ne prend pas en charge beaucoup de choses qui peut être fait en termes simples. Pour la boucle est un exemple courant de cela. La beauté de Go Pour la boucle, c'est qu'il fusionne beaucoup de style moderne de la boucle en un seul mot-clé.
De même Golang faire avec Plusieurs la déclaration de la Variable et de l'affectation. Selon le problème mentionné ci-dessus, On peut résoudre les multi-variable pour la boucle avec cet outil simple qui Golang nous offre. Si vous voulez voir dans de plus amples explications, cette question de fournir de plus amples détails et le mode de déclaration de plusieurs variables en une seule instruction.
De retour pour la boucle for, Si nous voulons nous déclarons une variable de même type de données que nous pouvons déclarer avec ce
var a,b,c string
mais nous utilisons court en boucle de sorte que nous pouvons le faire pour l'initialisation d'eux avec la même valeur
i,j := 0
Les différents Types de données et des Valeurs Différentes
et si nous voulons déclarer les différents types de variables et que vous souhaitez affecter des valeurs différentes, nous pouvons le faire en séparant les noms de variables et après := différentes valeurs par des virgules ainsi. par exemple
c,i,f,b := 'c',23423,21.3,false
L'utilisation de l'Opérateur d'Affectation
Plus tard, nous pouvons attribuer des valeurs à des variables multiples, avec la même approche.
x,y := 10.3, 2
x,y = x+10, y+1
Le mélange Struct et les types Normaux dans un état unique
Même nous pouvons utiliser struct types ou des pointeurs de la même façon. Voici une fonction pour effectuer une itération liste, qui est défini comme une struct
func (this *MyLinkedList) Get(index int) int {
for i,list := 0,this; list != nil; i,list = i+1,list.Next{
if(i==index){
return list.Val
}
}
return -1
}
Cette liste est définie comme
type MyLinkedList struct {
Val int
Next *MyLinkedList
}
Répondre au Problème d'Origine
Venir à la Question de l'origine, Simplement, il pourrait être fait
for i, j := 0, 1; i < 10; i, j = i+1, j+1 {
fmt.Println("i,j",i,j)
}
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.