vez varios una tipo saber ruta renombrar que puedo programas programa para nombre masivamente extension diferente cómo construye con como archivos archivo ala acceso abrir go naming-conventions

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:

http://golang.org/src/pkg/

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.

  1. Nombres de archivos que comienzan con "." o "_" son ignorados por la herramienta ir
  2. Los archivos con el sufijo _test.go solo se compilan y ejecutan con la herramienta de go test .
  3. 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.