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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Go 编程规范

發(fā)布時(shí)間:2024/8/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Go 编程规范 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

? ?最規(guī)范的Go代碼就是Go的標(biāo)準(zhǔn)庫(kù)的代碼,有條件的時(shí)候可以多看看Google的工程師是如何實(shí)現(xiàn)的。

1.注釋

? ?可以通過(guò)/* ... */或者//注釋, //之后應(yīng)該有個(gè)空格。

? ?如果想在每個(gè)文件的頭部加上注釋,需要在版權(quán)注釋和Package前面加一個(gè)空行,否則版權(quán)注釋會(huì)作為package的注釋

? ?注釋:注釋?xiě)?yīng)該用一個(gè)完整的句子,注釋的第一個(gè)單詞應(yīng)該是要注釋的提示符,以便在godoc中容易查找;注釋?xiě)?yīng)該以.結(jié)尾。

?

2.聲明slice

? 使用下面這種方式聲明slice:

? 而不是下面這種格式:

?

3.字符串的大小寫(xiě)

? ?錯(cuò)誤字符串不應(yīng)該大寫(xiě),應(yīng)寫(xiě)成:

? ?而不是寫(xiě)成:

? ?因?yàn)?#xff0c;這些字符串可能和其他字符串相連接,組合后的字符串如果中間有大寫(xiě)字母開(kāi)頭的單詞很突兀,除非這些首字母大寫(xiě)單詞是固定使用的單詞。

? ?注:縮寫(xiě)詞必須保持一致,比如都大寫(xiě)URL或小寫(xiě)url;常量一般聲明為MaxLength,而不是以下劃線分割MAX_LENGTH或者M(jìn)AXLENGTH;

?

4.處理error而不是panic或者忽略

? ?為了代表的強(qiáng)健性,不要使用_忽略錯(cuò)誤,而是要處理每一個(gè)錯(cuò)誤,盡管代碼寫(xiě)起來(lái)有些繁瑣也不要忽略錯(cuò)誤;

? ?盡量不要使用panic;

?

5.一些名稱(chēng)

? ?包名應(yīng)該使用單數(shù)形式,比如util,model,而不是utils,models;

? ?Receiver的名稱(chēng)應(yīng)該縮寫(xiě),一般使用一個(gè)或兩個(gè)字符作為Receiver的名稱(chēng),如:

? 有些單詞可能有多種寫(xiě)法,在項(xiàng)目中應(yīng)該保持一致,比如Golang采用的寫(xiě)法:

? 而不是:

?

6.空字符串檢查

? ?正確方式:

? ?而不是:

? 更不是:

?

7.非空slice檢查

? ?正確方式:

? 而不是:

?

8.直接使用bool值

? 對(duì)于bool類(lèi)型的變量var b bool,直接使用它作為判斷,而不是使用它和true/false進(jìn)行比較:

? 正確方式:

? 而不是:

?

9.byte/slice/string相等性比較

? ?而不是:

?

10.檢查是否包含子字符串

? ?應(yīng)使用strings.ContainesRune, strings.ContainesAny, strings.Contains

?

11.復(fù)制slice

? ?使用內(nèi)建函數(shù)copy,而不是遍歷slice逐個(gè)復(fù)制:

?

12.盡量縮短if

? ?正確使用方式:

? 而不是:

?

13.簡(jiǎn)化range

? ?正確方式:

? 而不是:

?

14.使用strings.TrimPrefix/ string.TrimSuffix

? ?正確方式:

? 而不是:

?

15.append slice

? ?正確方式:

? ?而不是:

?

參考:

https://www.yuque.com/docs/share/363c1355-138e-462a-91a5-901dba65f43e

總結(jié)

以上是生活随笔為你收集整理的Go 编程规范的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。