首頁 >後端開發 >Golang >如何在 Go 中有效地命名接口,特別是當它們定義單一方法或一組相關方法時?

如何在 Go 中有效地命名接口,特別是當它們定義單一方法或一組相關方法時?

Barbara Streisand
Barbara Streisand原創
2024-11-13 02:46:021063瀏覽

How do you name interfaces effectively in Go, especially when they define a single method or a set of related methods?

Go 中的介面命名約定

問題:
Go中介面命名的最佳實踐,尤其是那些定義單一方法或一組相關的方法

答案:

  1. 單一方法介面: 對於具有單一方法的接口,約定是使用後綴像“-er”一樣創建代理名詞。範例包括“Reader”、“Writer”、“Closer”。
  2. 多方法介面:當介面有多種方法時,選擇一個反映其預期用途的描述性名稱。範例包括“net.Conn”、“http.ResponseWriter”、“io.ReadWriter”。

詳細說明:

單一方法介面:

  • 「-er」後綴有助於為單一方法介面建立一致的命名模式。
  • 此約定可以避免與具有相似意義的函數名稱混淆。例如,不要將介面方法命名為“ToString”,除非它具有與“String”方法相同的簽名和功能。

多方法介面:

  • 當一個介麵包含多個方法時,名稱應清楚地描述其整體用途。
  • 這確保開發人員可以無需閱讀每個方法的文件即可輕鬆理解介面的功能。

方法中的接收器名稱:

  • 不要使用通用接收器像「this」或「self」這樣的名稱。
  • 相反,請使用反映接收者的簡短的、一個或兩個字元的名稱 類型。這有助於提高程式碼可讀性和一致性。

其他資源:

  • [有效的Go:介面名稱](https://go.dev /doc/ effective_go#interface_names)
  • [介面類型@名稱包含什麼? - golang.org 上的演講](https://talks.golang.org/2011/names.slide)
  • [收件者@名字中有什麼? - golang.org 上的演講](https://talks.golang.org/2011/names.slide#47)
  • [Go 程式碼評審評論:接收者名稱](https://github. com/ golang/go/wiki/CodeReviewComments#receiver-names)

以上是如何在 Go 中有效地命名接口,特別是當它們定義單一方法或一組相關方法時?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn