可变参数
可变参数,实质是转换成数组,通过数组遍历来完成
测试实例 1
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,5,6)) // 21
}
延迟执行函数 defer
可以使用 defer
安全的释放资源,释放锁等。
func Clear() {
fmt.Println("Clear Resources.")
}
func TestDefer(t *testing.T) {
defer Clear()
fmt.Println("Start")
panic("err") // defer 仍然会执行
}
注意: panic
之后的代码不可达