在Golang中,如果出现错误,则使用零值。例如,如果map [int]字符串中不存在键,则返回空字符串。
我正在编写一个函数,该函数接收一个url并返回在发出http请求时收到的json字符串。如果错误不为null,我想将body的返回值设置为零值字节数组。由于字节数组可以转换为其他数据类型,我无法弄清楚要将其设置为什么。可能与上下文有关因为我希望返回的值是一个字符串,我应该将它设置为空字符串?
答案 0 :(得分:3)
不,零值不会被惯用作带内错误值。 Map为不存在的键返回零值,但这是一个(经常使用的)功能,如果需要,可以通过替代语法测试存在性
v, ok := m[k]
使用多个返回值同时返回值和一个信号。
要发出一个简单的(true / false,ok / not ok,...)条件,请使用布尔值。
要发出错误信号,请使用error
类型的值。
等
BTW:Go编程语言有 no 强制转换。它有转换,它们与演员阵容不同。