初探Golang(2)-常量和命名规范
1 命名規范
1.1 Go是一門區分大小寫的語言。
命名規則涉及變量、常量、全局函數、結構、接口、方法等的命名。 Go語言從語法層面進行了以下限定:任何需要對外暴露的名字必須以大寫字母開頭,不需要對外暴露的則應該以小寫字母開頭。
當命名(包括常量、變量、類型、函數名、結構字段等等)以一個大寫字母開頭,如:Analysize,那么使用這種形式的標識符的對象就可以被外部包的代碼所使用(客戶端程序需要先導入這個包),這被稱為導出(像面向對象語言中的 public);
命名如果以小寫字母開頭,則對包外是不可見的,但是他們在整個包的內部是可見并且可用的(像面向對象語言中的 private )
而Go 語言中,任何標識符(變量,常量,函數,自定義類型等)都應該滿足以下規律:
go有如下關鍵字
1.2 包名稱
保持package的名字和目錄保持一致,盡量采取有意義的包名,簡短,有意義,盡量和標準庫不要沖突。包名應該為小寫單詞,不要使用下劃線或者混合大小寫。
1.3 文件命名
盡量采取有意義的文件名,簡短,有意義,應該為小寫單詞,使用下劃線分隔各個單詞。
1.4 結構體命名
采用駝峰命名法,首字母根據訪問控制大寫或者小寫
struct 申明和初始化格式采用多行,例如下面:
type MainConfig struct {Port string `json:"port"`Address string `json:"address"` }1.5 常量命名
常量均需使用全部大寫字母組成,并使用下劃線分詞
const APP_URL = "https://www.baidu.com"如果是枚舉類型的常量,需要先創建相應類型:
type Scheme stringconst (HTTP Scheme = "http"HTTPS Scheme = "https" )1.6 變量命名
和結構體類似,變量名稱一般遵循駝峰法,首字母根據訪問控制原則大寫或者小寫,但遇到特有名詞時,需要遵循以下規則:
如果變量為私有,且特有名詞為首個單詞,則使用小寫,如 appService
若變量類型為 bool 類型,則名稱應以 Has, Is, Can 或 Allow 開頭
2. 錯誤處理
錯誤處理的原則就是不能丟棄任何有返回err的調用,不要使用 _ 丟棄,必須全部處理。接收到錯誤,要么返回err,或者使用log記錄下來
- 盡早return:一旦有錯誤發生,馬上返回
- 盡量不要使用panic,除非你知道你在做什么
- 錯誤描述如果是英文必須為小寫,不需要標點結尾
- 采用獨立的錯誤流進行處理
3. 單元測試
單元測試文件名命名規范為 example_test.go 測試用例的函數名稱必須以 Test 開頭,例如:TestExample 每個重要的函數都要首先編寫測試用例,測試用例和正規代碼一起提交方便進行回歸測試 。
4. 常量
相對于變量而言,常量是在程序使用過程中,不會改變的數據。有些地方你需要將定義好的常量重復使用,代碼中你不允許它的值改變。例如 圓周率 在程序執行過程中不會改變。
常量只能在其聲明的范圍內使用,如果在一個函數內部作用域中聲明的常量與外部名稱相同, 則只用自己內部的常量, 它將忽略外部的常量。
4.1 總結
5. iota特殊的常量
iota是常量里面的計數器,初始值默認值是0,可以被編譯器自動修改,每定義一組常量時,iota逐行自增1。
因為go中沒有像Java那樣的枚舉類型,因此我們可以通過iota來實現枚舉類型
const (Spring Mytype = iotaSummerAutumnWinter )總結
以上是生活随笔為你收集整理的初探Golang(2)-常量和命名规范的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到亲人被电死了是什么意思
- 下一篇: 初探Golang(3)-数据类型