Go编程笔记(26)

package main

import (
	"fmt"
)

func main() {
	a := test(10, 2)
	b := test(10, 0)
	fmt.Println(a, b)

}

func test(a, b int) int {
	defer fmt.Println("defer1:", a, "/", b)

	defer func() {
		fmt.Println("defer2:", a, b)
	}()
	return a / b
}

常⽤用来做资源清理、关闭⽂文件、解锁、记录执⾏行时间等等操作。

输出结果:

defer2: 10 2
defer1: 10 / 2
defer2: 10 0
defer1: 10 / 0
	
panic: runtime error: integer divide by zero
[signal 0xc0000094 code=0x1003f addr=0x0 pc=0x401211]




你可能感兴趣的:(Go编程笔记(26))