【问题标题】: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 演员表。它有转换,它们与演员表不同。