Em Go, variáveis declaradas dentro do escopo de uma instrução if são visíveis apenas dentro desse bloco. Isso pode representar um desafio quando é necessário usar variáveis declaradas na instrução condicional fora dela.
Considere o seguinte código:
if len(array1) > len(array2) { new1 := make([]string, 0, len(array1)) } // Error: new1 is not visible here new2 := make([]string, 0, len(new1))
Neste exemplo, a variável new1 é declarada dentro da instrução if e só pode ser usada dentro desse escopo. Para resolver esse problema, new1 deve ser declarado fora da instrução if e inicializado dentro dela.
var new1 []string if len(array1) > len(array2) { new1 = make([]string, 0, len(array1)) } else { new1 = make([]string, 0, len(array2)) } new2 := make([]string, 0, len(new1))
Agora, new1 é declarado fora da instrução if e pode ser acessado nos blocos if e else. Isso permite que ele seja usado no código subsequente, onde é passado como um argumento para make.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3