defer 内追踪变量变化

2018-11-27  本文已影响0人  名白

遇到一个需求,需要追踪变量的最终情况。defer比较合适,但是写了变量和指针都无效,于是试了试:

变量,变量地址,指针的使用情况

func TestDefer(t *testing.T) {
    a := 0
    b := "hello"
    c := "beautiful"
    var d *string

    defer func(a int, b string, c, d *string) {
        log.Println(a, b, *c, d)
        //output 0 hello girl <nil>
    }(a, b, &c, d)

    a = 1
    b = "word"
    c = "girl"
    d = &b
}

所以如果想要在defer里追综一个变量
需要传 变量的地址,不能用指针变量

上一篇 下一篇

猜你喜欢

热点阅读