golang struct扩展函数参数命名警告解决方法
发布时间:2020-12-16 19:30:04 所属栏目:大数据 来源:网络整理
导读:今天在使用VSCode编写golang代码时,定义一个struct,扩展几个方法,如下: package storageimport ( "fmt" "github.com/zsy619/gcommon")//ChunkFooter 块Footertype ChunkFooter struct { ChunkDataTotalSize int}//NewChunkFooter 创建一个ChunkFooterfun
今天在使用VSCode编写golang代码时,定义一个struct,扩展几个方法,如下: package storage import ( "fmt" "github.com/zsy619/gcommon" ) //ChunkFooter 块Footer type ChunkFooter struct { ChunkDataTotalSize int } //NewChunkFooter 创建一个ChunkFooter func NewChunkFooter(chunkDataTotalSize int) *ChunkFooter { var result = new(ChunkFooter) result.ChunkDataTotalSize = chunkDataTotalSize return result } //ToString ChunkFooter转换为String func (cf *ChunkFooter) ToString() string { return fmt.Sprintf("[ChunkDataTotalSize:%d]",cf.ChunkDataTotalSize) } //AsByteArray 转换成byte数组 func (nf *ChunkFooter) AsByteArray() []byte { //var result [chunkFooterSize]byte buffer := gcommon.IntToFixedLengthBytes(nf.ChunkDataTotalSize,ChunkFooterSize) return buffer } 请注意函数ToString与AsByteArray中的*ChunkFooter参数,一个是cf,一个nf,提示以下警告: 意思是将nf更改为cf,也就是struct扩展函数中对应对象的命名应该已第一个函数的命名为基准。 可参考参官方指南Effective Golang和Golang Code Review Comments进行整理,力图与官方及社区编码风格保持一致。 将函数ToString修改成如下: //ToString ChunkFooter转换为String func (this *ChunkFooter) ToString() string { return fmt.Sprintf("[ChunkDataTotalSize:%d]",this.ChunkDataTotalSize) } 提示以下警告信息: 要排除使用me、this、self这些命名。可根据golang官网的命名规则,并结合本公司要求,进行统一命名。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |