美文网首页
defer 内追踪变量变化

defer 内追踪变量变化

作者: 名白 | 来源:发表于2018-11-27 10:41 被阅读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里追综一个变量
需要传 变量的地址,不能用指针变量

相关文章

  • defer 内追踪变量变化

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

  • golang之panic/defer/recover

    defer 在函数返回之前, 调用defer函数的操作; 函数内可以有多个defered函数, 但是这些defer...

  • go 的defer

    1.defer在函数被返回之后被调用2.在defer定义时变量的值已经被确定3.defer执行的顺序为先进后出(栈...

  • Array的变化侦测

    3.1 如何追踪变化 object是通过setter来追踪变化的,只要数据发生变化,就一定会触发setter。同理...

  • Swift错误处理和泛型(ErrorHandlingAndGen

    错误处理 泛型 ErrorHandling defer使用关键字defer写一个代码块,它会在这个函数内所有代码执...

  • ITV集合

    关键词defer的用法?答案:defer的字面意思是延时执行,在swift中修饰一个block,该block内的代...

  • ES6(八)迭代器与生成器1

    迭代数据的方式从使用 for 循环转变到使用迭代器对象, for 循环需要 初始化变量以便追踪集合内的位置, 而迭...

  • Golang研学:如何掌握并用好defer(延迟执行)

    defer:在函数A内用defer关键字调用的函数B会在在函数A return后执行。 先看一个基础的例子,了解一...

  • 【golang】底层易错点总结

    闭包特殊性 闭包对捕获的外部变量并不是传值方式访问,而是以引用的方式访问。如以下defer 因为defer后面是一...

  • Vue中常见的坑

    Vue无法追踪数组的变化

网友评论

      本文标题:defer 内追踪变量变化

      本文链接:https://www.haomeiwen.com/subject/mhawqqtx.html