go version go1.8 linux/amd64
Por ejemplo,
package main
var V int
go build -buildmode=plugin -v test/main.go
lion@Lion-Laptop [ test ] $ go build -buildmode=plugin -v test/main.go
command-line-arguments
lion@Lion-Laptop [ test ] $
lion@Lion-Laptop [ test ] $ go build -buildmode=plugin -v test/main.go
runtime/internal/sys
runtime/internal/atomic
runtime
runtime/cgo
command-line-arguments
lion@Lion-Laptop [ test ] $
Lo mismo que construir con -a
Esto se debe a que todos los paquetes deben ser reconstruidos por la cadena de herramientas configurada para la vinculación dinámica y, de forma predeterminada, go build
no almacena en caché las compilaciones de paquetes intermedios. Creo que trabajar en cmd / go cambiará eso y este problema desaparecerá.
Hasta entonces, puede usar -i
al crear complementos para almacenar en caché las compilaciones de paquetes intermedios, por lo que esto solo sucede la primera vez:
$ go build -buildmode=plugin -i -v plugin1
runtime/internal/sys
runtime/internal/atomic
runtime
common
internal/cpu
errors
unicode/utf8
sync/atomic
unicode
internal/race
math
sync
syscall
strconv
reflect
runtime/cgo
plugin1
$ go build -buildmode=plugin -i -v plugin1
plugin1
$
Comentario más útil
Esto se debe a que todos los paquetes deben ser reconstruidos por la cadena de herramientas configurada para la vinculación dinámica y, de forma predeterminada,
go build
no almacena en caché las compilaciones de paquetes intermedios. Creo que trabajar en cmd / go cambiará eso y este problema desaparecerá.Hasta entonces, puede usar
-i
al crear complementos para almacenar en caché las compilaciones de paquetes intermedios, por lo que esto solo sucede la primera vez: