函数失败了,返回是用 Error 还是 bool 类型的 ok 呢?作者觉得,error 是首选,因为它明确(错误详情)、灵活、随处可用(即使是使用ok的地方)。而ok更适于:
1. ok == false的含义是非常非常非常明确的;
2. 出于性能考量。
详见:https://gist.github.com/posener/a303becac35835ad7bf5e15fe061893e
个人感觉对于函数失败来说,有error必须要用error, bool返回更多是由于函数或者表达式本身不返回error的变相处理
比如 v, ok = map[key], error和bool都用的情况我觉得是golang的rpc方法,比如有个updateFooRpc(args int, reply *bool) error,
我一般是用error去判断函数失败的情况,用reply去判断update去数据是否造成影响
#1