【问题标题】:Is there a universal way of printing a variable for debugging? [duplicate]是否有打印变量以进行调试的通用方法? [复制]
【发布时间】:2020-10-14 11:32:00
【问题描述】:

我正在寻找 JavaScript 的 console.debug({myvar}) 的惯用等价物。无论myvar 的类型如何,该语句都将始终有效。

Go 中的惯用和通用等价物是什么?某些类型与fmt.Fprintf("%#v", myvar) 配合得很好,但其他类型如果不实现io.Writer 接口并失败,则不能。

希望它是一个简洁的单行,就像 JS 中的 console.debug

【问题讨论】:

    标签: go


    【解决方案1】:

    在 Golang 中是否有一种通用的方式来打印用于调试的变量?

    没有。

    而且你的代码是荒谬的,你可能想要fmt.Printf("%#v", anything),它可以工作,但可能不会做你想做的事。

    【讨论】:

    • “可能不会做你想做的事。”:在什么情况下可能不会?
    • @Pierre 这取决于您希望它做什么,例如它应该如何打印指针,或者您是否认为它应该遵循指针,或者您认为它应该如何处理未导出的字段等。这就是为什么“否”是答案。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-11
    • 2017-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多