我是 golang 編程的新手,我正在學習 go 中的接口。當我用谷歌搜索時,我在 ardan labs 偶然發現了這個博客。下面的代碼片段可以在清單 5中找到。完整的代碼在 go playground heretype errorString struct { s string}func New(text string) error { return errorString{text}}在 New 方法中,return 語句返回一個類型的結構,errorString但函數聲明說類型應該是error. 上面的代碼不會拋出任何錯誤。它編譯并且工作正常。當我如下更改方法時,它仍然可以正常工作。func New(text string) errorString { return errorString{text}}這種不兼容的類型如何在 go 中工作?
1 回答

三國紛爭
TA貢獻1804條經驗 獲得超7個贊
該error類型是接口類型。這是接口的聲明:
type error interface {
Error() string
}
errorString是錯誤接口的實現。這就是為什么它適用于errorString類型。
您可以在此處找到有關接口的更多詳細信息
- 1 回答
- 0 關注
- 130 瀏覽
添加回答
舉報
0/150
提交
取消