The Rationale Basting "()" em corpos de fechamento em go
em Go, a adição de "()" após um corpo de fechamento não é específico para fechar, mas aplica -se a qualquer chamada de função em uma instrução As especificações do idioma exigem que a expressão em uma declaração de adiamento deve sempre ser uma chamada de função. Em vez disso, a sintaxe correta é:
adiar f () ()
defer f()
adiar func (n int) {fmt.println (n)} (i)
defer f()()inversamente, para imprimir o valor de i no tempo o fechamento é executado, usa:
, em inversamente, o valor de i no tempo o fechamento é executado,
, para imprimir o valor de e o fechamento, o fechamento é executado: fmt.println (i)} ()Entendendo esse princípio permite uma compreensão clara do comportamento das declarações de adiamento em Go e o uso correto de "()" dentro de corpos de fechamento e além.
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