go - varios - renombrar archivos masivamente cmd
¿Cuáles son las convenciones para los nombres de archivo en Go? (4)
Además de la respuesta proporcionada por JimB , los nombres de archivo regulares son minúsculas, abreviados y sin ningún tipo de guión bajo o espacio. En general, los nombres de archivo siguen la misma convención que los nombres de paquetes. Consulte la sección Nombres de paquete de Effective Go .
Vea el paquete strconv para un buen ejemplo.
Pude encontrar las convenciones para nombrar paquetes en Go: sin guiones bajos entre palabras, todo en minúsculas.
¿Esta convención se aplica a los nombres de archivo también?
¿También pone una estructura en un archivo como si lo hiciera para una clase Java y luego nombra el archivo después de la estructura?
Actualmente, si tengo un struct WebServer, lo pongo en un archivo web_server.go.
Go es bastante liberal en términos de cómo organizas tu código dentro de un paquete, generalmente es lo que mejora la legibilidad y la comprensión de tu código. La mejor manera de aprender cómo se hace esto es estudiar los maestros, es decir, echar un vistazo a la biblioteca estándar:
Sin embargo, hay 2 reglas que puedo pensar. Al especificar el código que se compilará para diferentes plataformas, use el nombre de la plataforma como sufijo:
mypkg_linux.go // only builds on linux systems
mypkg_windows_amd64.go // only builds on windows 64bit platforms
Además, si tiene un archivo llamado server.go
, las pruebas para ese archivo se realizarán en server_test.go
.
Hay algunas pautas a seguir.
- Nombres de archivos que comienzan con "." o "_" son ignorados por la herramienta ir
- Los archivos con el sufijo
_test.go
solo se compilan y ejecutan con la herramienta dego test
. - Los archivos con os y sufijos específicos de arquitectura siguen automáticamente esas mismas restricciones, por ejemplo,
name_linux.go
solo se compilará en linux,name_amd64.go
solo se compilará en amd64. Esto es lo mismo que tener una línea//+build amd64
en la parte superior del archivo
Consulte la documentación para la herramienta de go build
para obtener más detalles: https://golang.org/pkg/go/build/
Por lo general, los guiones bajos en los nombres de archivo se usan para asignar código de plataforma / solo arco, por ejemplo:
➜ cd $GOROOT/src/pkg/math/
➜ ls sqrt*s
sqrt_386.s sqrt_amd64p32.s sqrt_amd64.s sqrt_arm.s
sqrt_386.s
solo será leído por el compilador en procesadores de 32 bits, sqrt_amd64.s
en amd64, etc.
Puede ser cualquiera de los valores válidos de GOOS
y / o GOARCH
( ref .
file_windows_amd64.go
solo se compilará en win64.