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