遇到一个需求,需要追踪变量的最终情况。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里追综一个变量
需要传 变量的地址,不能用指针变量

相关文章:

  • 2021-08-07
  • 2021-10-09
  • 2021-10-26
  • 2021-06-22
  • 2021-12-13
  • 2022-12-23
  • 2021-06-15
  • 2021-08-08
猜你喜欢
  • 2022-12-23
  • 2021-05-20
  • 2023-03-20
  • 2022-12-23
  • 2022-01-19
  • 2021-06-27
  • 2022-12-23
相关资源
相似解决方案