1
resposta

[Dúvida] o go não tem problema com as duas declarações de i no for aninhado?

O go não tem problema de sobrescrever o valor de i nesse caso de loop aninhado?

for i := 0; i < monitoramento; i++ {
        for i, site := range sites {
            fmt.Println("Testando site", i, ":", site)
            testaSite(site)
            time.Sleep(delay * time.Second)
            fmt.Println("")
        }
    }
1 resposta

Olá Victor, tudo bem?

No código que você postou, o Go não terá problema em sobrescrever o valor de i no loop aninhado, pois o escopo da variável i é limitado ao loop interno. Ou seja, a variável i do loop interno não afetará a variável i do loop externo.

Porém, é importante lembrar que, ao utilizar a mesma variável em diferentes contextos, pode gerar confusão e dificultar a leitura e manutenção do código. Por isso, é recomendado utilizar nomes diferentes para variáveis diferentes.

Espero ter ajudado e bons estudos!