今天在使用VSCode編寫golang代碼時,定義一個struct,擴(kuò)展幾個方法,如下:
創(chuàng)新互聯(lián)專注于企業(yè)成都營銷網(wǎng)站建設(shè)、網(wǎng)站重做改版、晉寧網(wǎng)站定制設(shè)計、自適應(yīng)品牌網(wǎng)站建設(shè)、HTML5建站、商城建設(shè)、集團(tuán)公司官網(wǎng)建設(shè)、外貿(mào)網(wǎng)站建設(shè)、高端網(wǎng)站制作、響應(yīng)式網(wǎng)頁設(shè)計等建站業(yè)務(wù),價格優(yōu)惠性價比高,為晉寧等各大城市提供網(wǎng)站開發(fā)制作服務(wù)。
package storage import ( "fmt" "github.com/zsy619/gcommon" ) //ChunkFooter 塊Footer type ChunkFooter struct { ChunkDataTotalSize int } //NewChunkFooter 創(chuàng)建一個ChunkFooter func NewChunkFooter(chunkDataTotalSize int) *ChunkFooter { var result = new(ChunkFooter) result.ChunkDataTotalSize = chunkDataTotalSize return result } //ToString ChunkFooter轉(zhuǎn)換為String func (cf *ChunkFooter) ToString() string { return fmt.Sprintf("[ChunkDataTotalSize:%d]", cf.ChunkDataTotalSize) } //AsByteArray 轉(zhuǎn)換成byte數(shù)組 func (nf *ChunkFooter) AsByteArray() []byte { //var result [chunkFooterSize]byte buffer := gcommon.IntToFixedLengthBytes(nf.ChunkDataTotalSize, ChunkFooterSize) return buffer }
請注意函數(shù)ToString與AsByteArray中的*ChunkFooter參數(shù),一個是cf,一個nf,提示以下警告:
意思是將nf更改為cf,也就是struct擴(kuò)展函數(shù)中對應(yīng)對象的命名應(yīng)該已第一個函數(shù)的命名為基準(zhǔn)。
可參考參官方指南Effective Golang和Golang Code Review Comments進(jìn)行整理,力圖與官方及社區(qū)編碼風(fēng)格保持一致。
將函數(shù)ToString修改成如下:
//ToString ChunkFooter轉(zhuǎn)換為String func (this *ChunkFooter) ToString() string { return fmt.Sprintf("[ChunkDataTotalSize:%d]", this.ChunkDataTotalSize) }
提示以下警告信息:
要排除使用me、this、self這些命名??筛鶕?jù)golang官網(wǎng)的命名規(guī)則,并結(jié)合本公司要求,進(jìn)行統(tǒng)一命名。