大家好,我是煎鱼。之前每次写Go错误处理的相关提案时,大家都会在评论区探讨到一个事。Go这活不得劲,常被戏称,一个大型Go工程项目里60%的代码都是 iferr!=nil。咱们错误处理怎么不借鉴一下Rust,高低也整个问号的语法特性,就可以简化这三行了,不香吗?借鉴Rust用?!|符号核心的点是在现有的Go例子中,我们一般要写 iferr!=nil,多了之后又多又杂看起来还有些麻烦。如下Go代码:count,err=fd.Write(bytes)iferr!=nil{returnnil,err}如果我们也借鉴Rust使用!和?的简化版,我们可以演进为如下代码:count:=fd.Write!(
???inreturnedJSONresult-thedatadoesn'tlooklikeit'ssupposedto我使用JSON从url请求中获取了一些数据,代码如下:12345$url='https://recruit.zoho.com/ats/private/xml/JobOpenings/getRecords?authtoken=$at&scope=recruitapi';$request=newWP_Http;$result=$request->request($url,$data=array());$input=json_encode($result,true);var_dum
???inreturnedJSONresult-thedatadoesn'tlooklikeit'ssupposedto我使用JSON从url请求中获取了一些数据,代码如下:12345$url='https://recruit.zoho.com/ats/private/xml/JobOpenings/getRecords?authtoken=$at&scope=recruitapi';$request=newWP_Http;$result=$request->request($url,$data=array());$input=json_encode($result,true);var_dum