服务器之家

服务器之家 > 正文

golang struct扩展函数参数命名警告解决方法

时间:2020-05-05 13:48     来源/作者:脚本之家

今天在使用VSCode编写golang代码时,定义一个struct,扩展几个方法,如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
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,提示以下警告:

golang struct扩展函数参数命名警告解决方法

意思是将nf更改为cf,也就是struct扩展函数中对应对象的命名应该已第一个函数的命名为基准。

   可参考参官方指南Effective GolangGolang Code Review Comments进行整理,力图与官方及社区编码风格保持一致。

   将函数ToString修改成如下:

?
1
2
3
4
//ToString ChunkFooter转换为String
func (this *ChunkFooter) ToString() string {
  return fmt.Sprintf("[ChunkDataTotalSize:%d]", this.ChunkDataTotalSize)
}

提示以下警告信息:

golang struct扩展函数参数命名警告解决方法

要排除使用me、this、self这些命名。可根据golang官网的命名规则,并结合本公司要求,进行统一命名。

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
返回顶部