Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
在 Golang 中,出现错误时使用零值。例如,如果一个键在 map[int]string 中不存在,则返回一个空字符串。
我正在编写一个函数,它接受一个 url 并返回在发出 http 请求时收到的 json 字符串。如果错误不为空,我想将主体的返回值设置为零值字节数组。由于字节数组可以转换为其他数据类型,我无法弄清楚将其设置为什么。也许取决于上下文?既然我希望返回的值是一个字符串,我应该将它设置为一个空字符串吗?
不,零值不习惯用作带内错误值。Map 为不存在的键返回零值,但这是一个(经常使用的)功能,因为如果需要,可以通过替代语法测试是否存在
v, ok := m[k]
使用多个返回值同时返回一个值和一个信号。
要发出一个简单的(真/假,正常/不正常,...)条件,请使用布尔值。
要发出错误情况的信号,请使用error键入的值。
error
等等。
顺便说一句:Go 编程语言没有强制转换。它有转换,它们与演员表不同。