defer 内追踪变量变化

时间:2023-03-08 23:53:31
defer 内追踪变量变化

遇到一个需求,需要追踪变量的最终情况。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里追综一个变量

需要传 变量的地址,不能用指针变量