GO学习笔记——编译与运行

一、Golang的执行流程——两种执行流程

1、go build运行

终端打开.go文件所在目录,在命令行输入go build xxx.go,如果没有编译错误,将会在相同目录下生成一个可执行的.exe文件,然后在命令行运行这个exe文件即可。

以下为一个演示示例,仅供参考。在编译执行编译后,用dir查看发现当前文件夹下多了一个exe文件,运行这个exe文件即可看到终端输出了“Hello world!”。

>go build helloworld.go

>dir

helloworld.go

helloworld.exe

>helloworld.exe

Hello world!

2、go run运行

终端打开.go文件所在目录,在命令行输入go run xxx.go,如果没有编译错误,会在终端直接编译并执行go文件,但不会生成.exe文件。

以下为一个演示示例,仅供参考。发现直接运行go run xxx.go后,直接输出了“Hello world!”。用dir查看 目录下并没有exe文件。

>go run helloworld.go

Hello world!

>dir

helloworld.go

二、两种运行方式的区别——可执行文件exe的生成

首先,我们可以明显的感受到二者的不同,就在于可执行文件exe是否有生成。

go build的好处是,一旦编译完成,你可以多次运行得到相同的二进制文件,而不需要重新编译。这对于大型项目或者需要频繁运行的项目来说,可以提高运行效率。

go run更加适合一次性运行的简单程序或脚本,适合用于单元开发测试。

一般而言,先build生成exe文件不仅是一种良好的编程习惯,也避免了每次运行都需要重新编译的开销,尽管run本质也是在底层先运行了编译程序,然后再执行文件,但显然对于需要重复执行的文件,反复编译的过程增大了开销。

另外,go build在编译时会将程序运行依赖的库文件包含在可执行文件中,尽管这会使得可执行文件在空间上大了许多,但这也减少了反复运行时的开销,并且当该可执行文件被拷贝到另一个没有该库文件或者go环境的机器上时,也能够运行,而go run的运行需要有go的开发环境。

三、一些编译时的注意与说明

1、编译器可以将go源文件编译成机器可以识别的二进制码文件

2、在源文件目录下可以用go build 对.go文件进行编译,并且可以指定可执行文件的名字,但在windows下必须以.exe后缀来命名可执行文件,示例如下。

>go build -o hello.exe helloworld.go

 3、如果程序没有编译错误,则go build会在当前目录下生成一个可执行文件;若有错误,编译时会报错。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值