今天在使用VSCode编写golang代码时,定义一个结构、扩展几个方法,如下:
包存储 导入( “fmt” "github.com/zsy619/gcommon” )//ChunkFooter块页脚 ChunkFooter struct类型{ ChunkDataTotalSize int }//NewChunkFooter创建一个ChunkFooter func NewChunkFooter (chunkDataTotalSize int) * ChunkFooter { var=新(ChunkFooter) 结果。ChunkDataTotalSize=ChunkDataTotalSize 返回结果 }//ToString ChunkFooter转换为字符串 字符串函数(cf * ChunkFooter) ToString () { fmt返回。Sprintf (“[ChunkDataTotalSize: % d]”, cf.ChunkDataTotalSize) }//AsByteArray转换成字节数组 func (nf * ChunkFooter) AsByteArray()[]字节{//var的结果[chunkFooterSize]字节 缓冲区:=gcommon.IntToFixedLengthBytes (nf。ChunkDataTotalSize ChunkFooterSize) 返回缓冲区 }
请注意函数ToString与AsByteArray中的* ChunkFooter参数,一个是cf,一个nf,提示以下警告:
意思是将nf更改为cf,也就是struct扩展函数中对应对象的命名应该已第一个函数的命名为基准。
,,可参考参官方指南有效Golang和Golang代码评审意见进行整理,力图与官方及社区编码风格保持一致。
,,将函数ToString修改成如下:
//ToString ChunkFooter转换为字符串 func(这* ChunkFooter)字符串ToString () { fmt返回。Sprintf (“[ChunkDataTotalSize: % d]”, this.ChunkDataTotalSize) }
提示以下警告信息:
要排除使用我,这一点,自我这些命名。可根据golang官网的命名规则,并结合本公司要求,进行统一命名。