【问题标题】:Golang - zero value byte arrayGolang - 零值字节数组
【发布时间】:2013-08-01 15:54:40
【问题描述】:

在 Golang 中,在出现错误时使用零值。例如,如果一个键在 map[int]string 中不存在,则返回一个空字符串。

我正在编写一个函数,它接收一个 url 并返回在发出 http 请求时收到的 json 字符串。如果错误不为空,我想将主体的返回值设置为零值字节数组。由于字节数组可以转换为其他数据类型,我无法弄清楚将其设置为什么。也许取决于上下文?既然我希望返回的值是一个字符串,我应该把它设置为一个空字符串?

【问题讨论】:

    标签: json http go bytearray


    【解决方案1】:

    不,零值不习惯用作带内错误值。 Map 为不存在的键返回零值,但这是一个(经常使用的)功能,因为如果需要,可以通过替代语法测试是否存在

    v, ok := m[k]
    

    使用多个返回值同时返回一个值一个信号。

    要发出简单的(真/假、正常/不正常、...)条件,请使用布尔值。

    要发出错误信号,请使用 error 类型的值。

    等等

    顺便说一句:Go 编程语言有 no 演员表。它有转换,它们与演员表不同。

    【讨论】:

      猜你喜欢
      • 2019-11-27
      • 1970-01-01
      • 2021-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多