×
GoLand中运行go代码时生成可执行文件
  • 分类:笔记
  • 发表:2020-11-04
Goland通过调用go build 生成可执行文件。
默认在Goland中点击Run时可以执行程序,但找不到可执行文件。
需要自定义配置文件,将Run kind从默认的File改为Directory。

创建go build配置文件:
从Run菜单点击Edit Configurations
Run kind 选Directory
Directory 选go源文件所在文件夹
Output directory设置(举例):D:\goland\mygo\src\01\
Working directory保持默认
Go tool arguments 就是go build 的参数,先留空

运行时出错,显示
go: cannot find main module; see 'go help modules'
Compilation finished with exit code 1
报错原因是没有使用 go modules 进行模块管理,无法记录和解析对其他模块的依赖性。只需要在项目根目录执行命令 go mod init 即可。需要注意的是,使用 go modules 需要设置 go 的环境变量 GO111MODULE 的值。
在goland的Terminal窗口输入:go mod init goland/mygo/src/01
D:\goland\mygo\src\01>go mod init goland/mygo/src/01
go: creating new go.mod: module goland/mygo/src/01
在D:\goland\mygo\src\01目录生成go.mod文件。
再次Run,得到
GOROOT=C:\Go #gosetup
GOPATH=C:\mygopath #gosetup
C:\Go\bin\go.exe build -o D:\goland\mygo\src\01\go_build_01_.exe . #gosetup
D:\goland\mygo\src\01\go_build_01_.exe #gosetup
Hello world!
Process finished with exit code 0
在源文件所在的文件夹生成一个go_build_01_.exe

注:Output directory设置与go build -o 不相容,因此也可以不设置,使用-o参数来控制可执行文件的路径以及名字。将Go tool arguments设置为-o D:\goland\mygo\src\01\test.exe
运行程序时即可在D:\goland\mygo\src\01\目录生成test.exe
Output directory和Go tool arguments同时都设置时以Go tool arguments为准。
Top