2015-03-05 12 views
14

Nach dem Schreiben einiger Skripte in Go habe ich mich gefragt, ob es einen Unterschied zwischen der Kompilierung einer .go-Datei und der späteren Ausführung und dem go run FILE.go Befehl in Bezug auf die Leistung gibt etc.Golang - Unterschied zwischen "go run main.go" und Kompilierung

Gibt es irgendwelche Vorteile, wenn ich einen Webservice mit einer dieser Methoden starte?

+1

möglich Duplikat erzeugen [Go: Wie laufen file.go Arbeit geht ] (http://stackoverflow.com/questions/28755916/go-how-does-go-run-file-go-work) – JimB

+0

Übergeben Sie das '-x' Flag zu' run', 'build',' get' oder 'install', um zu sehen, was genau ausgeführt wird. – JimB

Antwort

28

go run ist nur eine Abkürzung für das Kompilieren und läuft dann in einem einzigen Schritt. Während es für die Entwicklung nützlich ist, sollten Sie es im Allgemeinen erstellen und die Binärdatei direkt ausführen, wenn Sie es in der Produktion verwenden.

+0

Es muss mehr sein als das - wenn ich die println in einer Helloworld zeitlich kontrolliere, läuft es schneller mit go run als kompiliert. Ich habe das bei einem umfangreicheren Programm bemerkt und sehe es bis hinunter in die Hellorld. Es würde mich interessieren zu wissen, warum und zu welchem ​​Zeitpunkt die Ergebnisse invertieren. –

2

Der Befehl 'go install' erstellt eine kompilierte Datei für die gemeinsam genutzte Bibliothek als package.a unter dem Ordner pkg und die exec-Datei unter dem Verzeichnis bin.

gehen laufen Befehl nützlich ist, während die Entwicklung zu tun, wie es kompiliert nur und es für Sie laufen aber nicht Binärdateien in PKG-Ordner und Ordner src

Verwandte Themen