掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流
Python 或者 Lua 語言可以在不輸出二進制的情況下,將代碼使用虛擬機直接執(zhí)行。Go語言雖然不使用虛擬機,但可使用
go run 指令達到同樣的效果。

go run 命令會編譯源碼,并且直接執(zhí)行源碼的 main() 函數,不會在當前目錄留下可執(zhí)行文件。
下面我們準備一個 main.go 的文件來觀察
go run 的運行結果,源碼如下:
package main
import (
"fmt"
"os"
)
func main() {
fmt.Println("args:", os.Args)
}
這段代碼的功能是將輸入的參數打印出來。使用
go run 運行這個源碼文件,命令如下:
$ go run main.go --filename xxx.go
args: [/tmp/go-build006874658/command-line-arguments/_obj/exe/main--filename xxx.go]
go run 不會在運行目錄下生成任何文件,可執(zhí)行文件被放在臨時文件中被執(zhí)行,工作目錄被設置為當前目錄。在
go run 的后部可以添加參數,這部分參數會作為代碼可以接受的命令行輸入提供給程序。
go run 不能使用“go run+包”的方式進行編譯,如需快速編譯運行包,需要使用如下步驟來代替:
go build 生成可執(zhí)行文件。
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流