variable practices how handling good golang error code best go

practices - how to return an error in golang



Cómo deshabilitar Golang error de importación no utilizada (7)

El truco var _ = fmt.Printf es útil aquí.

De forma predeterminada, ve la importación no utilizada como un error que te obliga a eliminar la importación. Quiero saber si existe alguna esperanza de cambiar este comportamiento. por ejemplo, reducirlo a advertencia.

Encontré este problema extremadamente molesto y me impidió disfrutar de la codificación en Go. Por ejemplo, estaba probando algún código, deshabilitando un segmento / función. Algunas funciones de una lib ya no se utilizan (por ejemplo, fmt, errors, lo que sea) pero tendré que volver a habilitar la función después de un poco de prueba. Ahora el programa no compilará a menos que elimine esas importaciones. Y unos minutos más tarde necesito volver a importar la lib. Estaba haciendo este proceso una y otra vez al desarrollar un programa GAE.

TBH, es la cosa más estúpida que he visto en un lenguaje de programación. Si no es el beneficio de rendimiento en GAE, ni siquiera tocaría Go.


Si está utilizando el paquete fmt para la impresión general en la consola mientras desarrolla y prueba, entonces puede encontrar una solución mejor en el paquete de log .


Tengo el mismo problema. Entiendo el razonamiento de por qué implementaron el lenguaje para rechazar las importaciones y variables no utilizadas, pero personalmente encuentro esta característica molesta al escribir mi código. Para evitar esto, cambié alrededor de mi compilador para permitir indicadores opcionales para permitir variables no utilizadas e importaciones en mi código.

Si está interesado, puede ver esto en https://github.com/dtnewman/modified_golang_compiler .

Ahora, simplemente puedo ejecutar código con un comando como ir a ejecutar -gcflags ''-unused_pkgs'' test.go y no arrojará estos errores de "importación no utilizada". Si omito estas banderas, entonces vuelve al valor predeterminado de no permitir las importaciones no utilizadas.

Hacer esto solo requirió algunos cambios simples. Los puristas de Go probablemente no estarán contentos con estos cambios ya que hay buenas razones para no permitir las variables / importaciones no utilizadas, pero personalmente estoy de acuerdo con usted en que este problema hace que sea mucho menos agradable codificar en Go, por lo que hice estos cambios en mi compilador.


Usa goimports . Básicamente es un tenedor de go fmt, escrito por Brad Fitzpatrick, y ahora incluido en los paquetes de herramientas go. Puede configurar su editor para ejecutarlo cada vez que guarde un archivo. Nunca más tendrás que preocuparte por este problema.


Use if false { ... } para comentar un código. El código dentro de las llaves debe ser sintácticamente correcto, pero puede ser un código sin sentido de lo contrario.


ponga esto encima de su documento y olvídese de las importaciones no utilizadas

import ("fmt";"bufio";"os";"path/filepath") func iiiiiiiiiiii(i interface{}) { fmt.Println("");i=bufio.Writer{};i=os.File{};filepath.IsAbs("") }


Agregar un guion bajo _ antes del nombre de un paquete ignorará el error de importación no utilizado.

Aquí hay un ejemplo de cómo podrías usarlo:

import ( "log" "database/sql" _"github.com/go-sql-driver/mysql" )

Para importar un paquete únicamente por sus efectos secundarios (inicialización), use el identificador en blanco como nombre explícito del paquete.

Ver más en https://golang.org/ref/spec#Import_declarations