"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 as declarações `adiF 'afetam os valores de retorno em Go com base na declaração variável?

Como as declarações `adiF 'afetam os valores de retorno em Go com base na declaração variável?

Postado em 2025-03-23
Navegar:774

How Do `defer` Statements Affect Return Values in Go Based on Variable Declaration?

Entendendo as modificações funcionais em Golang com adefer

em Golang, o adiamento permite que os desenvolvedores configurem funções para executar após uma função concluir, a habilitação da limpeza pós-execução. No entanto, os problemas podem surgir ao tentar modificar os valores variáveis ​​declarados de maneiras diferentes dentro da mesma função. adiar func () {i} () retornar i } func c1 () (i int) { adiar func () {i} () retornar i } func c2 () (i int) { adiar func () {i} () retornar 2 }

em c (0), devido a ser um parâmetro de entrada, o valor retornado não é afetado pelo incremento diferido, resultando em uma saída impressa de 0. Assim, o incremento diferido afeta o valor retornado, fornecendo uma saída de 1.

func c(i int) int {
    defer func() { i   }()
    return i
}

func c1() (i int) {
    defer func() { i   }()
    return i
}

func c2() (i int) {
    defer func() { i   }()
    return 2
}
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