最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Golang 命名規(guī)范推薦的實現示例

 更新時間:2026年04月14日 09:24:23   作者:winjeg  
本文主要介紹了Golang 推薦命名規(guī)范的實現示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

很少見人總結一些命名規(guī)范,也可能是筆者孤陋寡聞, 作為一個兩年的golang 開發(fā)者, 我根據很多知名的項目,如 moby, kubernetess 等總結了一些常見的命名規(guī)范。 命名規(guī)范可以使得代碼更容易與閱讀, 更少的出現錯誤。

文件命名規(guī)范

由于文件跟包無任何關系, 而又避免windows大小寫的問題,所以推薦的明明規(guī)范如下: 文件名應一律使用小寫, 不同單詞之間用下劃線分割, 命名應盡可能地見名知意

常量命名規(guī)范

常量明明用 camelcase來命名示例如下

const todayNews = "Hello"

// 如果超過了一個常量應該用括號的方法來組織

const (
   systemName = "What"
   sysVal = "dasdsada"
)

變量命名規(guī)范

與常量命名方式一樣,變量也應該使用駝峰的命名方式, 但注意盡量不與包名一致或者以包名開頭

var  x string
x := new(string)

函數命名規(guī)范

由于Golang的特殊性(用大小寫來控制函數的可見性),除特殊的性能測試與單元測試函數之外, 都應該遵循如下原則

  1. 使用駝峰命名
  2. 如果包外不需要訪問請用小寫開頭的函數
  3. 如果需要暴露出去給包外訪問需要使用大寫開頭的函數名稱

一個典型的函數命名方法如下:

// 注釋一律使用雙斜線, 對象暴露的方法
func (*fileDao) AddFile(file *model.File) bool {
   result := db.NewRecord(*file)
   if result {
      db.Create(file)
   }
   return result
}
 
// 不需要給包外訪問的函數如下
func removeCommaAndQuote(content string) string {
   re, _ := regexp.Compile("[\\`\\,]+")
   return strings.TrimSpace(re.ReplaceAllString(content, ""))
}

接口命名規(guī)范

接口命名也是要遵循駝峰方式命名, 可以用 type alias 來定義大寫開頭的type 給包外訪問

type helloWorld interface {
    func Hello();
}

type SayHello helloWorld

Struct命名規(guī)范

與接口命名規(guī)范類似

receiver 命名規(guī)范

golang 中存在receiver 的概念 receiver 名稱應該盡量保持一致, 避免this, super,等其他語言的一些語義關鍵字如下

type A struct{}

func (a *A) methodA() {
}
func (a *A) methodB() {
    a.methodA()
}

注釋規(guī)范

注釋應一律使用雙斜線

其他

格式化, 用tab不是空格, 可以與go fmt 兼容

到此這篇關于Golang 推薦命名規(guī)范的實現示例的文章就介紹到這了,更多相關Golang 命名規(guī)范內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在goland中配置gofmt的操作

    在goland中配置gofmt的操作

    這篇文章主要介紹了在goland中配置gofmt的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-12-12
  • Go語言入門之基礎語法和常用特性解析

    Go語言入門之基礎語法和常用特性解析

    這篇文章主要給大家講解了Go語言的基礎語法和常用特性解析,比較適合入門小白,文中通過代碼示例介紹的非常詳細,對我們學習Go語言有一定的幫助,需要的朋友可以參考下
    2023-07-07
  • golang中的net/rpc包使用概述(小結)

    golang中的net/rpc包使用概述(小結)

    本篇文章主要介紹了golang中的net/rpc包使用概述(小結),小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • Go cobra庫使用教程

    Go cobra庫使用教程

    cobra既是一個用于創(chuàng)建強大現代CLI應用程序的庫,也是一個生成應用程序和命令文件的程序。cobra被用在很多go語言的項目中,比如 Kubernetes、Docker、Istio、ETCD、Hugo、Github CLI等等
    2022-12-12
  • goland?導入github包報紅問題解決

    goland?導入github包報紅問題解決

    本文主要介紹了Go項目在GoLand中導入依賴標紅問題解決,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-08-08
  • 基于Go語言實現一個壓測工具

    基于Go語言實現一個壓測工具

    這篇文章主要為大家詳細介紹了基于Go語言實現一個簡單的壓測工具,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2025-01-01
  • Golang 1.16 中 Modules的主要變化更新

    Golang 1.16 中 Modules的主要變化更新

    這篇文章主要介紹了Golang 1.16 中 Modules的主要變化更新,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • Go?基本數據類型與字符串相互轉換方法小結

    Go?基本數據類型與字符串相互轉換方法小結

    這篇文章主要介紹了Go基本數據類型與字符串相互轉換,將string類型轉換成基本類型時,必須確保string類型是有效的,文中補充介紹了Go基本數據類型和其字符串表示之間轉換,結合實例代碼給大家講解的非常詳細,需要的朋友可以參考下
    2024-01-01
  • goalng?結構體?方法集?接口實例詳解

    goalng?結構體?方法集?接口實例詳解

    這篇文章主要為大家介紹了goalng?結構體?方法集?接口實例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-09-09
  • go1.8之安裝配置具體步驟

    go1.8之安裝配置具體步驟

    下面小編就為大家?guī)硪黄猤o1.8之安裝配置具體步驟。小編覺得挺不錯的,現在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06

最新評論

新津县| 尼木县| 澄迈县| 芷江| 专栏| 厦门市| 丹江口市| 辽阳县| 郯城县| 杨浦区| 湘潭市| 南雄市| 鲁山县| 南平市| 浮梁县| 汪清县| 永清县| 特克斯县| 淮安市| 漠河县| 共和县| 东乡族自治县| 山阳县| 三穗县| 云阳县| 原阳县| 武隆县| 余姚市| 大理市| 穆棱市| 安平县| 马龙县| 莱阳市| 高陵县| 威海市| 武安市| 海阳市| 元阳县| 吉林市| 施甸县| 武夷山市|