// diferir sólo en la función interna
// aplazar a un retraso en llamar Verge antes del final de la función que llama
aplazar una función múltiple, al mismo tiempo, el orden de ejecución: último en entrar, primero en salir . No importa lo que se produce a pesar de que la secuencia de colapso, delante de error aplazar puede ser ejecutado
// el diferir sólo en las funciones internas // la llamada retraso Defer, la llamada antes del final de la función principal prueba FUNC (Int32 X) { fmt.Println ( " Imprimir: " , 100 / X) } FUNC TextDefer () { FMT Defer. println ( " sentencia se ejecuta después de la caída del programa " ) fmt.Println ( " declaración de orden de ejecución del programa " ) Test ( 0 ) al aplazar fmt.Println ( " después del colapso del programa puede venir a usted? no puede " ) fmt.Println ( " declaraciones no pueden ser ejecutadas en el orden del programa " ) }
// el diferir sólo en las funciones internas // la llamada retraso Defer, la llamada antes del final de la función principal prueba FUNC (Int32 X) { fmt.Println ( " Imprimir: " , 100 / X) } FUNC TextDefer () { FMT Defer. println ( " sentencia se ejecuta después de la caída del programa " ) fmt.Println ( " declaración del programa de orden de ejecución " ) el diferir la prueba ( 0 ) // Añadir Defer, entonces todo estará ejecutando el Defer fmt.Println ( " después del colapso del programa sino también a hacer? no se puede " ) fmt.Println ( " declaración no puede ser ejecutado en el orden del programa " ) }
1, la unión diferir y anónimos funciones