build - installing - ¿Cómo compilar el programa Go que consiste en múltiples archivos?
installing go mac (3)
Así que tengo un pequeño programa que consta de tres archivos, todos ellos pertenecientes al mismo paquete (principal), pero cuando lo hago "ve build main.go" la compilación no tiene éxito. Cuando era solo un archivo (main.go) todo funcionó bien. Ahora que me tomé un esfuerzo para separar el código, parece que el compilador no puede encontrar las cosas que fueron sacadas de main.go y ponerlas en estos otros dos archivos (que residen en el mismo directorio que main.go) . Lo que produce errores de tipo "indefinido".
Leí algo sobre configurar la variable GOPATH, así que probé
set GOPATH=%cd%
go build main.go
pero eso tampoco funcionó.
Cualquier ayuda es apreciada.
Cuando se separa el código de main.go
en, por ejemplo, more.go
, simplemente se pasa ese archivo para go build
/ go run
/ go install
también.
Entonces, si previamente corriste
go build main.go
ahora simplemente
go build main.go more.go
Como información adicional:
go build --help
estados:
If the arguments are a list of .go files, build treats them as a list
of source files specifying a single package.
Tenga en cuenta que go build
y go install
difieren de go run
en que los primeros dos estados esperan los nombres de los paquetes como argumentos, mientras que el segundo espera los archivos go . Sin embargo, los dos primeros también aceptarán archivos go a medida que Go install lo haga.
Si se está preguntando: build solo build
los paquetes / archivos, la install
producirá archivos binarios y de objetos en su GOPATH, y run
compilará y ejecutará su programa.
Supongamos que está escribiendo un programa llamado myprog:
Pon todos tus archivos en un directorio como este
myproject/go/src/myprog/xxx.go
A continuación, agregue myproject/go
to GOPATH
Y correr
go install myprog
De esta forma, podrá agregar otros paquetes y programas en myproject / go / src si lo desea.
Referencia: http://golang.org/doc/code.html
(Este documento siempre es extrañado por los recién llegados, y a menudo mal entendido al principio. Debe recibir la mayor atención de la IMO del equipo Go).
También podrías simplemente correr
go build
en su carpeta de proyectos myproject / go / src / myprog
Entonces puedes simplemente escribir
./myprog
para ejecutar tu aplicación