Como remover código não utilizado em tempo de compilação?
Criamos um pacote Go usado por muitos de nós.
É importado usando o padrãoimport ("package-name")
método.
No entanto, em tempo de compilação, todos os nossos utilitários, incluindo os muito pequenos, acabam sendo binários muito grandes.
Extraímos todas as cadeias de caracteres nos utilitários e descobrimos que todo o pacote está sendo compilado em cada utilitário. Incluindo funções que não estão sendo usadas por esses utilitários.
EDIT 1:
Obrigado às pessoas que estão respondendo a esta pergunta.
Aqui está o que estamos vendo:
main.go
package main
import "play/subplay"
func main() {
subplay.A()
}
play / subplay.go
package subplay
func A() {
fmt.Printf("this is function A()")
}
func B() {
fmt.Printf("secret string")
}
A função B () nunca é chamada. No entanto, depois de criar o binário, encontramos a cadeia "cadeia secreta" no arquivo main.exe.
Como podemos remover o código não utilizado dos programas Go em tempo de compilação?