我记得看过,Go的设计要求是err!=nil的时候,前面的值部分是一个无效的值,就是说值可以是空值也可以不是。
我自己在写代码的时候,也遵循这种规范,同时因为我基本都用Named Result方式(不想每次return都得考虑哪个空哪个不空),所以以下代码可以更好的说明,为什么前值是无效的: type Info struct { A string B int C bool } func do() (rsp Info, err error) { a, err := doA() if err != nil { return // 等价于 {…。
13588888888