主頁 > 知識庫 > golang struct擴展函數(shù)參數(shù)命名警告解決方法

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

熱門標簽:網(wǎng)站排名優(yōu)化 服務(wù)外包 呼叫中心市場需求 鐵路電話系統(tǒng) 地方門戶網(wǎng)站 百度競價排名 AI電銷 Linux服務(wù)器

今天在使用VSCode編寫golang代碼時,定義一個struct,擴展幾個方法,如下:

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擴展函數(shù)中對應(yīng)對象的命名應(yīng)該已第一個函數(shù)的命名為基準。

   可參考參官方指南Effective Golang和Golang Code Review Comments進行整理,力圖與官方及社區(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é)合本公司要求,進行統(tǒng)一命名。

您可能感興趣的文章:
  • golang中strconv.ParseInt函數(shù)用法示例
  • golang模板template自定義函數(shù)用法示例
  • 深入解析golang編程中函數(shù)的用法
  • Golang的os標準庫中常用函數(shù)的整理介紹
  • Golang記錄、計算函數(shù)執(zhí)行耗時、運行時間的一個簡單方法
  • Golang學(xué)習(xí)筆記(五):函數(shù)
  • golang 函數(shù)以及函數(shù)和方法的詳解及區(qū)別

標簽:黃山 衡水 銅川 湖南 仙桃 蘭州 湘潭 崇左

巨人網(wǎng)絡(luò)通訊聲明:本文標題《golang struct擴展函數(shù)參數(shù)命名警告解決方法》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266