mac installing example develop build compilation go

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