配置
当我们第一次用goland打开一个工程时,右上角的运行还有调试按钮都是灰色的,就是点不了的。为什么点不了呢?
如果是你打开的是一个文件,goland可能会默认你想go run这个go文件,但是一个工程里有一大堆go文件,goland并不知道你是想运行其中某一个go文件,还是想把这一堆文件编译成一个二进制文件然后再运行,我们通常要做的事是后者。
这个时候,我们就要配置一下,告诉goland当我们点击运行或者调试的时候,是想做什么。配置就是点这个:
点开是下面这样的:
点左上角那个加号,新增配置。
然后点go build,因为我们要做的事,就是把多个go文件编译成一个二进制文件,然后运行它。
首先,run kind那里选择directory,因为我们是要编译指定文件夹里的go文件。
其他几个栏,要填什么,就要根据你的工程而定了,一个一个解释一下:
Name:编译生成的二进制文件的名字。
Directory:你要编译的go文件所在的路径,一般在工程文件夹里会有一个src文件夹,是工程本身的代码,就选这个文件夹。
Output directory:编译生成的二进制文件会放在这个文件夹。
Working directory:就是工作路径,也就是你在哪个路径下执行./二进制文件,这个路径很重要,因为你的程序里可能会指定从某个相对路径找配置文件,如果配错了,就会出现找不到配置文件这样的问题。
Environment:环境变量,点开之后添加运行你这个程序需要的环境变量就行,实际就是执行了export xxx=xxx。
Go tool arguments:go build的选项,根据你的情况而定。
Program arguments:运行程序时的选项,比如你运行的时候需要指定配置文件路径和日志存放路径,就填写类似下面的选项,路径可以写绝对路径,也可以写相对路径,相对路径是相对于上面的working directory的。
-conf-dir=$CONF_DIR -log-dir=$LOG_DIR
Module:默认会有,不用改。
举个例子,如果我配置成如下图这样,
那么当我点击运行按钮的时候,实际上执行了两条命令:
/usr/local/go/bin/go build -i -o /Users/dongjiaqi/testBuild/testBuild .
/Users/dongjiaqi/testBuild/testBuild -log=log/
调试
到这里,配置就完成了。
接下来说一下调试,我只会最基础的,就是加断点,查看变量。
首先,设断点,这个操作和其他ide一样。
然后,点debug按钮,就是右上角那个虫子。
然后,程序就运行到断点处停住了。
可以在右下角查看变量的值。
这个按钮是继续执行到下一个断点。
目前我只用到了这么多,感觉已经很够用了,之前不会的时候,只能一点一点加打印看。。。
补充:如果本地调试无法满足需求,可以查看goland远程调试