Por que não precisa declarar a variável i neste caso? Eu não entendi muito bem o FOR com o Range.
Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!
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
}