golang struct擴(kuò)展函數(shù)參數(shù)命名警告解決方法
今天在使用VSCode編寫golang代碼時(shí),定義一個(gè)struct,擴(kuò)展幾個(gè)方法,如下:
package storage
import (
"fmt"
"github.com/zsy619/gcommon"
)
//ChunkFooter 塊Footer
type ChunkFooter struct {
ChunkDataTotalSize int
}
//NewChunkFooter 創(chuàng)建一個(gè)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
}
請(qǐng)注意函數(shù)ToString與AsByteArray中的*ChunkFooter參數(shù),一個(gè)是cf,一個(gè)nf,提示以下警告:

意思是將nf更改為cf,也就是struct擴(kuò)展函數(shù)中對(duì)應(yīng)對(duì)象的命名應(yīng)該已第一個(gè)函數(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)一命名。
相關(guān)文章
Go語言設(shè)計(jì)實(shí)現(xiàn)在任務(wù)欄里提醒你喝水的兔子
這篇文章主要為大家介紹了Go語言設(shè)計(jì)實(shí)現(xiàn)在任務(wù)欄里提醒你喝水的兔子示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-01-01
Go語言Gin框架實(shí)現(xiàn)HTML頁面渲染
Web開發(fā)中,我們經(jīng)常要面對(duì)如何將數(shù)據(jù)渲染到前端的問題,這就涉及到了模板引擎的知識(shí),Go語言的Gin框架就提供了強(qiáng)大的HTML模板渲染功能,本文就來為大家介紹,有需要的朋友可以借鑒參考下,希望能夠有所幫助2024-01-01
Go網(wǎng)絡(luò)編程TCP抓包實(shí)操示例探究
作為一名軟件開發(fā)者,網(wǎng)絡(luò)編程是必備知識(shí),本文通過?Go?語言實(shí)現(xiàn)?TCP?套接字編程,并結(jié)合?tcpdump?工具,展示它的三次握手、數(shù)據(jù)傳輸以及四次揮手的過程,幫助讀者更好地理解?TCP?協(xié)議與?Go?網(wǎng)絡(luò)編程2024-01-01
詳解Go語言如何使用標(biāo)準(zhǔn)庫sort對(duì)切片進(jìn)行排序
Sort?標(biāo)準(zhǔn)庫提供了對(duì)基本數(shù)據(jù)類型的切片和自定義類型的切片進(jìn)行排序的函數(shù)。今天主要分享的內(nèi)容是使用?Go?標(biāo)準(zhǔn)庫?sort?對(duì)切片進(jìn)行排序,感興趣的可以了解一下2022-12-12
Go實(shí)現(xiàn)將io.Writer轉(zhuǎn)換成字符串
golang中提供了各種類型之間的轉(zhuǎn)換方法,其中,將其他類型轉(zhuǎn)換為字符串類型是常見的操作,本文主要介紹了Go實(shí)現(xiàn)將io.Writer轉(zhuǎn)換成字符串,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05
淺析Go語言中的緩沖區(qū)及其在fmt包中的應(yīng)用
這篇文章主要為大家詳細(xì)介紹了Go語言中的緩沖區(qū)及其在fmt包中的應(yīng)用的相關(guān)知識(shí),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解一下2024-01-01

