paquete principal de importación ( "fmt" ) func calc (cadena de índice, a, b int) int { ret: = a + b fmt.Println (índice, a, b, ret) de retorno ret } func main () { a: = 1 b: = 2 Defer calc ( "1", a, calc ( "10", a, b)) a = 0 Defer calc ( "2", a, calc ( "20", a, b)) b = 1 } / * 10 1 2 3 20 0 2 2 2 0 2 2 1 1 3 4 * /
Los sitios de ensayo: diferir el orden de ejecución de índice a la nota diferir el orden de ejecución y ofrecer valor:: Respuesta 1 es sin duda el último de realizar, pero el índice: 1. El tercer parámetro es una función, por lo que la primera se llama calc ( "10", 1 2) ==> 10,1,2,3 ejecutamos índice: 2, como antes, tenemos que llamar la calc ( "20", 0,2) ==> 20,0,2,2 para ejecutar b = 1 hora de empezar a llamar, índice: 2 ==> calc ( "2", 0,2) ==> 2,0,2,2 índice de rendimiento final: 1 ==> calc ( " 1", 1,3) = => 1,1,3,4