Em Java eu posso fazer algo como
derp(new Runnable { public void run () { /* run this sometime later */ } })
e "execute" o código no método posteriormente. É difícil lidar (classe interna anônima), mas pode ser feito.
O Go tem algo que pode facilitar a passagem de uma função / retorno de chamada como parâmetro?
containingObject::instanceMethodName
): docs.oracle.com/javase/tutorial/java/javaOO/…Respostas:
Sim, considere alguns destes exemplos:
Reproduzir: http://play.golang.org/p/XNMtrDUDS0
Tour: https://tour.golang.org/moretypes/25 (fechamentos de funções)
fonte
Você pode passar a função como parâmetro para uma função Ir. Aqui está um exemplo de passar a função como parâmetro para outra função Go:
Você pode tentar isso em: https://play.golang.org/p/9mAOUWGp0k
fonte
Aqui está a implementação "Mapa" de exemplo no Go. Espero que isto ajude!!
fonte
Aqui está um exemplo simples:
fonte
Espero que o exemplo abaixo forneça mais clareza.
fonte
O Yes Go aceita funções de primeira classe.
Consulte o artigo "Funções de primeira classe no Go" para obter links úteis.
fonte