Go 中的介面命名約定
在Go 中建立介面時,必須遵循既定的命名約定,以增強可讀性並保持內部的一致性。程式碼庫。
一個常見的約定是對指定單一介面的介面使用「er」後綴 方法。例如,Reader、Writer 和 Formatter 等介面就遵循此規則。
對於具有多個方法的接口,建議選擇一個能夠準確描述其用途的名稱。範例包括 net.Conn(用於網路連線)、http.ResponseWriter(用於 HTTP 回應)和 io.ReadWriter(用於讀取和寫入)。
命名接收器物件時,建議避免使用通用術語,例如這個或自己。相反,請使用反映接收器類型的縮寫,例如 c 代表 Client 或 sh 代表 serverHandler。
考慮以下範例:
type Role string type RolesHierarchy []Role // IsRole verifies if a role is within the hierarchy. func (r Role) IsRole(role Role, hierarchy RolesHierarchy) bool { // ... Implementation ... } // AssumeRole sets the role in the session. func (r *Role) AssumeRole(session ServerSession, role Role) { // ... Implementation ... }
基於建議的約定、適當的介面和接收器上述程式碼的名稱可以是:
或者,如果首選將兩種功能合併到一個介面中,則適當的名稱可以是 RoleManager。
記住,一致性是命名介面和接收器的關鍵。選擇清晰、具有描述性並遵守上述約定的名稱。這將提高 Go 程式碼的可讀性和可維護性。
以上是如何在 Go 中選擇有效的介面和接收者名稱?的詳細內容。更多資訊請關注PHP中文網其他相關文章!