go语言method 求解

layli · · 202 次点击 · 开始浏览   
// f2函数的输出看不明白, &argError{arg, "can't work with it"}会自动调用argError 的Error 方法么,求解答 ```go type argError struct { arg int prob string } func (e *argError) Error() string { return fmt.Sprintf("%d - %s", e.arg, e.prob) } func f2(arg int) (int, error) { if arg == 42 { return -1, &argError{arg, "can't work with it"} } return arg + 3, nil } func main() { for _, i := range []int{7, 42} { if r, e := f2(i); e != nil { fmt.Println("f1 failed:", e) } else { fmt.Println("f1 worked:", r) } } } ```
202 次点击  
加入收藏 微博
5 回复  |  直到 2017-08-04 17:09:34
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet