溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

golang struct擴(kuò)展函數(shù)參數(shù)命名警告解決方法

發(fā)布時(shí)間:2020-08-25 22:24:13 來源:腳本之家 閱讀:212 作者:mdxy-dxy 欄目:編程語言

今天在使用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,提示以下警告:

golang struct擴(kuò)展函數(shù)參數(shù)命名警告解決方法

意思是將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)
}

提示以下警告信息:

golang struct擴(kuò)展函數(shù)參數(shù)命名警告解決方法

要排除使用me、this、self這些命名??筛鶕?jù)golang官網(wǎng)的命名規(guī)則,并結(jié)合本公司要求,進(jìn)行統(tǒng)一命名。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI