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

 更新时间:2017年02月16日 21:02:27   投稿:mdxy-dxy  
今天在使用VSCode编写golang代码时,定义一个struct,扩展几个方法,需要的朋友可以参考下

今天在使用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 GolangGolang Code Review Comments进行整理,力图与官方及社区编码风格保持一致。

   将函数ToString修改成如下:

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

提示以下警告信息:

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

相关文章

  • Go语言CSP并发模型实现MPG

    Go语言CSP并发模型实现MPG

    这篇文章主要为大家介绍了Go语言CSP并发模型实现MPG图文详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • go内存队列list VS slice实现方式对比分析

    go内存队列list VS slice实现方式对比分析

    这篇文章主要为大家介绍了go内存队列list VS slice实现方式对比分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • 利用dep代替go get获取私有库的方法教程

    利用dep代替go get获取私有库的方法教程

    go get 从指定源上面下载或者更新指定的代码和依赖,并对他们进行编译和安装,但go get功能比较差,所以下面这篇文章主要给大家介绍了关于利用dep代替go get获取私有库的相关资料,需要的朋友可以参考借鉴,下面来一起看看吧。
    2017-11-11
  • Golang调用FFmpeg转换视频流的实现

    Golang调用FFmpeg转换视频流的实现

    本文主要介绍了Golang调用FFmpeg转换视频流,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-02-02
  • 一文完全掌握 Go math/rand(源码解析)

    一文完全掌握 Go math/rand(源码解析)

    这篇文章主要介绍了一文完全掌握 Go math/rand(源码解析),本文可以帮助大家快速使用Go Rand.,感兴趣的朋友跟随小编一起看看吧
    2021-04-04
  • Golang精编49面试题汇总(选择题)

    Golang精编49面试题汇总(选择题)

    这篇文章主要介绍了Golang精编49面试题汇总(选择题),本文章内容详细,具有很好的参考价值,希望对大家有所帮助,需要的朋友可以参考下
    2023-01-01
  • 详解Go语言中的数据类型及类型转换

    详解Go语言中的数据类型及类型转换

    这篇文章主要为大家介绍了Go语言中常见的几种数据类型,以及他们之间的转换方法,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一下
    2022-04-04
  • 在Linux系统中安装Go语言的详细教程

    在Linux系统中安装Go语言的详细教程

    这篇文章主要介绍了在Linux系统中安装Go语言的详细教程,由于国内很多人对谷歌的盲目追捧,导致Go语言在国内的人气远超国外...需要的朋友可以参考下
    2015-06-06
  • Golang实现图片上传功能的示例代码

    Golang实现图片上传功能的示例代码

    这篇文章主要和大家分享一下如何利用Golang实现图片上传功能,文中的实现步骤讲解详细,对我们学习有一定的参考价值,需要的可以参考一下
    2022-05-05
  • 利用Go实现一个简易DAG服务的示例代码

    利用Go实现一个简易DAG服务的示例代码

    DAG的全称是Directed Acyclic Graph,即有向无环图,DAG广泛应用于表示具有方向性依赖关系的数据,如任务调度、数据处理流程、项目管理以及许多其他领域,下面,我将用Go语言示范如何实现一个简单的DAG服务,需要的朋友可以参考下
    2024-03-03

最新评论