"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso acessar variáveis ​​declaradas dentro de uma instrução Go `if` fora dela?

Como posso acessar variáveis ​​declaradas dentro de uma instrução Go `if` fora dela?

Publicado em 2025-01-18
Navegar:444

How Can I Access Variables Declared Inside a Go `if` Statement Outside of It?

Escopo de variável em declarações condicionais

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.

Tutorial mais recente Mais>

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