English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Métodos para resolver la advertencia de nombramiento de parámetros de función de extensión struct en golang

Hoy estoy escribiendo código golang en VSCode, definiendo un struct, extendiendo varios métodos, como se muestra a continuación:

paquete almacenamiento
import (
  "fmt"
  "github.com/zsy619/gcommon
)
//ChunkFooter bloqueFooter
type ChunkFooter struct {
  ChunkDataTotalSize int
}
//NewChunkFooter crea un ChunkFooter
func NewChunkFooter(chunkDataTotalSize int) *ChunkFooter {
  var result = new(ChunkFooter)
  result.ChunkDataTotalSize = chunkDataTotalSize
  return result
}
//ToString ChunkFooter转换为String
func (cf *ToString() string {
  return fmt.Sprintf("[ChunkDataTotalSize:%d]", cf.ChunkDataTotalSize)
}
//AsByteArray Convertir a matriz de bytes
func (nf *AsByteArray() []byte {
  //var result [chunkFooterSize]byte
  buffer := gcommon.IntToFixedLengthBytes(nf.ChunkDataTotalSize, ChunkFooterSize)
  return buffer
}

Tenga en cuenta que la función ToString y AsByteArray en*El parámetro ChunkFooter, uno es cf, el otro es nf, aquí hay una advertencia:

Lo que significa cambiar nf a cf, es que el nombre del objeto correspondiente en la función de extensión de struct debe basarse en el nombre de la primera función.

   Puede referirse a la guía oficialEffective GolangyComentarios de Revisión de Código de GolangRealice la organización, tratando de mantener una consistencia con el estilo de codificación oficial y de la comunidad.

   Modifique la función ToString como se muestra a continuación:

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

A continuación, se muestra el mensaje de advertencia:

Debería evitar el uso de nombres como me, this, self. Según las reglas de nombrado del sitio web oficial de Golang y los requisitos de la compañía, debe realizarse un nombrado uniforme.

Te gustará