【Duke】可变参数和defer 012 - PingPongGooo/GoFoundation GitHub Wiki

可变参数

func sum(ops ...int) int {
	ret := 0
	for _,op := range  ops {
		ret += op
	}
	return ret
}
func TestVarParam(t *testing.T){
	t.Log(sum(1,2,3,4))
	t.Log(sum(1,2,3,4,5))
}

defer函数

func TestDefer(t *testing.T) {
	defer Clear() // Started 打印之后,Clear才会执行
	t.Log("Started")
}

func TestDefer2(t *testing.T) {
	defer Clear()
	t.Log("Started")
	panic("Fatal error") //defer 仍会执行     panic 代表程序异常中断。即便程序中断,defer里的程序依然会执行。

}

func Clear(){
	fmt.Println("Clear Resopurce")
}