go run命令——编译并运行
2023-06-13 09:19:41 时间
Python 或者 Lua 语言可以在不输出二进制的情况下,将代码使用虚拟机直接执行。Go语言虽然不使用虚拟机,但可使用
go run
指令达到同样的效果。
go run
命令会编译源码,并且直接执行源码的 main() 函数,不会在当前目录留下可执行文件。
下面我们准备一个 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
不会在运行目录下生成任何文件,可执行文件被放在临时文件中被执行,工作目录被设置为当前目录。在 go run
的后部可以添加参数,这部分参数会作为代码可以接受的命令行输入提供给程序。
go run
不能使用“go run+包”的方式进行编译,如需快速编译运行包,需要使用如下步骤来代替:
-
使用
go build
生成可执行文件。 - 运行可执行文件。
相关文章
- 怎样使用 Go 写 “递归 + 协程” 代码?
- Go errors
- 【愚公系列】2022年07月 Go教学课程 028-函数小结案例(通讯录)
- GO 语言常用终端命令
- Go 错误处理篇(三):panic 和 recover
- 【Go实现】实践GoF的23种设计模式:命令模式
- 先聊聊「内存分配」,再聊聊Go的「逃逸分析」
- GO通道和 sync 包的分享
- 2023-02-22:请用go语言调用ffmpeg,保存mp4文件的视频帧,每帧用ppm图片保存。
- go开发入门篇之go语言
- 在windows下为你的go打包程序添加图标并去除黑窗口
- [译] 理解并用 Go 语言实现一个 HTTP 中间件
- Go学习——runtime.Caller()函数
- 2022-04-24:用go语言重写ffmpeg的muxing.c示例。
- Go语言copy():切片复制(切片拷贝)
- Go语言break(跳出循环)
- Go语言闭包(Closure)——引用了外部变量的匿名函数
- Go从入门到精通(一)go语言初识详解编程语言
- Go语言圣经–Channel习题详解编程语言
- Go语言—小白入门-命令行库Cobra的使用详解编程语言
- 用Go语言深入Redis缓存技术(用go写redis)
- 请求简单而快速用Go编写的Redis请求测试(用go写的redis)
- Go语言操作Oracle数据库技术实践(go操作oracle)
- Redis集群搭建Go的艰难之路(redis集群搭建go)
- 学习Oracle Go了解信息技术世界(oracle go的用法)