5.2 可变参数和 defer
peter 575 3

可变参数

可变参数,实质是转换成数组,通过数组遍历来完成

测试实例 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 之后的代码不可达

评论区

索引目录