Por que não precisa declarar a variável i neste caso? Eu não entendi muito bem o FOR com o Range.
Por que não precisa declarar a variável i neste caso? Eu não entendi muito bem o FOR com o Range.
Bom dia, Everton!
Esclarecendo sua dúvida:
O i foi sim declarado, justamente nessa linha.
Vamos pegar essa linha de código:
for i, site := range sites { // i e site são declaradas nessa linha
// Insira algo aqui
}
Ao iterar pelos elementos de uma array, uma forma simplificada de fazê-lo é usando o range.
Ao usar o range, ele tem dois possíveis outputs:
Caso duas variáveis sejam inseridas antes do walrus operator :=
a primeira variável receberá o índice dessa iteração, e o segundo será o elemento da array que ocupa essa posição. Justamente por estarmos usando o Walrus operator, tanto a variável i como a site estão sendo declaradas na linha do range.
Caso somente uma variável seja inserida antes do Walrus operator :=
, essa variável será o índice:
for indice := range series { // indice é declarado nessa linha
// Insira algo aqui
}
Outros possíveis usos do range em um laço for:
for indice := range 10 {
// Alguma operação para ser repetida 10 vezes, usando o índice
}
Desse modo, índice receberá 0, depois 1, etc, até 9.
E, por fim, a sintaxe mais recente, introduzida nos últimos anos:
for range 10 {
// Alguma operação para ser repetida 10 vezes
}