日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

初探Golang(2)-常量和命名规范

發布時間:2023/11/29 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 初探Golang(2)-常量和命名规范 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 命名規范

1.1 Go是一門區分大小寫的語言。

命名規則涉及變量、常量、全局函數、結構、接口、方法等的命名。 Go語言從語法層面進行了以下限定:任何需要對外暴露的名字必須以大寫字母開頭,不需要對外暴露的則應該以小寫字母開頭。

當命名(包括常量、變量、類型、函數名、結構字段等等)以一個大寫字母開頭,如:Analysize,那么使用這種形式的標識符的對象就可以被外部包的代碼所使用(客戶端程序需要先導入這個包),這被稱為導出(像面向對象語言中的 public);
命名如果以小寫字母開頭,則對包外是不可見的,但是他們在整個包的內部是可見并且可用的(像面向對象語言中的 private )

而Go 語言中,任何標識符(變量,常量,函數,自定義類型等)都應該滿足以下規律:

  • 連續的字符或數字組成。
  • 以字符或下劃線開頭。
  • 不能和 Go 關鍵字沖突。
    go有如下關鍵字
  • break default func interface select case defer go map struct chan else goto package switch const fallthrough if range type continue for import return var

    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 開頭

    var isExist bool var hasConflict bool var canManage bool var allowGitHook bool

    2. 錯誤處理

    錯誤處理的原則就是不能丟棄任何有返回err的調用,不要使用 _ 丟棄,必須全部處理。接收到錯誤,要么返回err,或者使用log記錄下來

    • 盡早return:一旦有錯誤發生,馬上返回
    • 盡量不要使用panic,除非你知道你在做什么
    • 錯誤描述如果是英文必須為小寫,不需要標點結尾
    • 采用獨立的錯誤流進行處理
    // 錯誤寫法 if err != nil {// error handling } else {// normal code }// 正確寫法 if err != nil {// error handlingreturn // or continue, etc. } // normal code

    3. 單元測試

    單元測試文件名命名規范為 example_test.go 測試用例的函數名稱必須以 Test 開頭,例如:TestExample 每個重要的函數都要首先編寫測試用例,測試用例和正規代碼一起提交方便進行回歸測試 。

    4. 常量

    相對于變量而言,常量是在程序使用過程中,不會改變的數據。有些地方你需要將定義好的常量重復使用,代碼中你不允許它的值改變。例如 圓周率 在程序執行過程中不會改變。

    常量只能在其聲明的范圍內使用,如果在一個函數內部作用域中聲明的常量與外部名稱相同, 則只用自己內部的常量, 它將忽略外部的常量。

    4.1 總結

  • 常量數值不能修改。
  • 常量定義后可以不使用。
  • 常量定義不能使用簡短定義方式。
  • 常量中使用的數據類型只能是 整型、布爾、浮點、復數類型、字符串類型。
  • 5. iota特殊的常量

    iota是常量里面的計數器,初始值默認值是0,可以被編譯器自動修改,每定義一組常量時,iota逐行自增1。

    因為go中沒有像Java那樣的枚舉類型,因此我們可以通過iota來實現枚舉類型

    const (Spring Mytype = iotaSummerAutumnWinter )

    總結

    以上是生活随笔為你收集整理的初探Golang(2)-常量和命名规范的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。