第59篇 Go语言开发环境搭建

本文环境:windows 64位

一、安装go语言开发包

1.1 下载开发包

安装包下载地址为:https://golang.org/dl/

如果打不开可以使用这个地址:https://golang.google.cn/dl/

选择对应开发平台的包进行下载,如下图(推荐选择这里的版本,更多版本可以自行下翻):

本文下载windows版本;

1.2 安装

双击安装包 go1.15.8.windows-amd64.msi ,按照步骤一路next便可安装完成。

1.3 环境变量配置

默认情况下 .msi 文件会安装在 C:\Program Files\Go 目录下。你可以将 C:\Program Files\Go\bin 目录添加到 Path 环境变量中(本文安装后自动添加)。添加后你需要重启命令窗口才能生效。

打开一个cmd窗口,输入'go',可以查看安装状况;

输入“go version”,如果正确显示版本,则安装成功;

 

二、安装开发编辑器IDE(VS Code)

对于开发者而言,编辑器永远都不是唯一的,适用于go语言开发的编辑器有很多,包含GoLand、IDEA、VS Code等,当然使用notepad++等也能进行go语言的开发,具体选择哪一款编辑器,只能见仁见智, 适合自己的才是最好的。

本文选择轻量、开放、开源的VS Code更适合我,它使用起来很顺手,并且可以安装各类插件,在一定程度上可以提高开发效率。

使用 Visual Studio Code 和 Go 扩展有许多好处。 

  1. 按照 Go 标准格式化应用程序。
  2. 添加新行并保存代码后立即添加包引用。
  3. 删除应用程序不再使用的包引用。
  4. 通过设置断点并在运行时使用观察程序来调试应用程序。
  5. 获取代码和包引用的建议完成项。
  6. 使用悬停信息连接到代码文档。
  7. 获取签名帮助,如列出函数的参数。
  8. 即使有多个文件,也可以轻松地在项目代码中导航。
  9. 登记对测试的支持,如为函数生成测试框架。

所以下面和大家介绍下VS Code的安装。

2.1 下载VS Code:

地址:https://code.visualstudio.com/

如果下载慢,比如本文下载地址显示:https://az764295.vo.msecnd.net/stable/8490d3dde47c57ba65ec40dd192d014fd2113496/VSCodeUserSetup-x64-1.53.0.exe

把其中的 “/az764295.vo.msecnd.net/” 修改为 “/vscode.cdn.azure.cn/”,修改后地址:https://vscode.cdn.azure.cn/stable/8490d3dde47c57ba65ec40dd192d014fd2113496/VSCodeUserSetup-x64-1.53.0.exe

这个就是国内的镜像了,点开后你会发现速度直接起飞。

2.2 安装VS Code:

双击下载下来的exe,按照提示一路next就可以了。

需要注意的是:如果你想选择目录或文件后右键可以选择VS Code打开的话,需要在进行到“选择其他任务”时,把下图红框中的两个可选项勾上。

2.3 VS Code 编写go初体验

至此,VS Code已经安装完成,接下来便可以利用VS Code编写第一个go程序了,使用快捷键:Ctrl + N 新建一个文件,输入以下代码,命名为main.go:

package main // 定义包名

import
"fmt" // 告诉 Go 编译器这个程序需要使用 fmt 包,fmt 包实现了格式化 IO(输入/输出)的函数。

func main () {
// 将字符串输出到控制台   
fmt.Println("hello world")
}

2.4 运行go程序

唤起VS Code的终端窗口,以此输入以上的命令,可以看到执行结果如下:

2.5 不足

到这里,看起来一切都正常了,但是有些不足,最真切的体验就是输入fmt.的时候没有智能提示fmt包的方法,这就意味着开发者必须记住包里面包含的方法及其拼写,这对于习惯了智能提示的开发者而言无疑是难以接受的。

 

三、安装VS Code扩展包

3.1 安装中文语言包
安装中文(简体)包,关闭VScode,重启即可。

3.2 安装go语言包
安装go语言包。

3.2 安装其它go扩展包

Rich Go language的使用需要用到一些其它的go语言包,在功能介绍的截图里面其实有提到,其中包括gocode、gopkgs、go-outline等。在我们开始写代码的时候,会弹出对这类包的需求:

要解决该问题并不难,点击“install all”安装所需的依赖包即可。

注意:选择其中一个点击“install all”就好,因为install all 安装的包已经包含了另一个提示里面的需要的包,多次点击只会重复安装,浪费时间。

本文在安装过程中全部显示失败:

Tools environment: GOPATH=C:\Users\liyuq\go
Installing 9 tools at C:\Users\liyuq\go\bin in module mode.
  gopkgs
  go-outline
  gotests
  gomodifytags
  impl
  goplay
  dlv
  golint
  gopls

Installing github.com/uudashr/gopkgs/v2/cmd/gopkgs FAILED
Installing github.com/ramya-rao-a/go-outline FAILED
Installing github.com/cweill/gotests/... FAILED
Installing github.com/fatih/gomodifytags FAILED
Installing github.com/josharian/impl FAILED
Installing github.com/haya14busa/goplay/cmd/goplay FAILED
Installing github.com/go-delve/delve/cmd/dlv FAILED
Installing golang.org/x/lint/golint FAILED
Installing golang.org/x/tools/gopls FAILED

9 tools failed to install.

本文解决办法,是定位到国内镜像:

通过命令:go env,可以看到主要的配置;期中有两项:

set GO111MODULE=
set GOPROXY=https://proxy.golang.org,direct

GO 1.13及以上版本中,使用以下命令修改这两项配置:

>go env -w GO111MODULE=on
//or
>go env -w GO111MODULE=auto

>go env -w GOPROXY=https://goproxy.cn,direct

本文修改后,显示为:

注意:此时需要重启VS Code;

然后重新安装go-tools;调出”Install ALL“安装界面的方法,可以在代码区随意敲入代码,也可以是:

Windows系统按Ctrl+Shift+P,Mac系统按Command+Shift+P,在弹出来的框框中输入>go:install,下面会自动搜索相关命令,我们选择Go:Install/Update Tools这个命令,如下图:

执行命令后,在弹出来的窗口中,选中所有选项,然后点击确定。

安装成功后的界面:

此时,再次在代码区输入代码,则不会有任何错误信息,且有相应的提示功能:

 

四、配置VS Code目录

第三节安装完成后,会在用户目录:"GOPATH=C:\Users\liyuq\go"显示相应修改,比如新增加了bin目录,期中内容为:

修改GOPATH

进入环境变量配置界面:

将环境变量“GOPATH”的值修改为:"D:\2020_go\Go_WorkSpace";点击确定;

说明:以下三个是环境变量,但是我们只用添加GOPATH即可,另外两个知道什么意思即可。

  • GOPATH:Go工作目录,包含pkg、bin、src三个文件夹(在本文安装配置过程中,这三个目录的出现顺序是pkg、bin,没有src)。
  • GOROOT:Go的安装路径。
  • GOBIN :go install编译存放路径,可以为空,默认是gopath/bin目录。

GOPATH下的目录:

  • bin :包含编译后生成的可执行文件,可自动生成。
  • pkg :包含编译后生成的包/库文件,可自动生成。
  • src :包含项目的源代码文件,go run,go install等命令的当前工作路径;如果没有的话就自己创建,非必须。

重启VS code,此时执行“go env”,可以看到 GOPATH 的值修改成功;

 

五、运行

在使用终端命令行能正常执行代码的条件下(见2.4节),尝试直接 run

出现以下界面,点击“运行和调试”,与菜单“运行\启动调试(F5)”功能一致:

菜单“运行\以非调试模式运行(Ctrl + F5)”显示:

 

六、setting.json配置

本文在开始使用时,在源文件第一行“package main”总是警告(warning):"gopls requires a module at the root of your workspace";

参考https://www.cnblogs.com/o0olele/p/13408963.html,并加上以下内容:

"gopls": {
        "experimentalWorkspaceModule": true
    }

问题解决。

所以,本文的setting.json文件内容为:

{
	"go.useLanguageServer": true,
	
	"[go]": {
	    "editor.snippetSuggestions": "none",
	    "editor.formatOnSave": true,
	    "editor.codeActionsOnSave": {
	        "source.organizeImports": true
	    }
	},
	
	"gopls": {
	    "experimentalWorkspaceModule": true,
        "completeUnimported": true,
	    "usePlaceholders": true,
	    "completionDocumentation": true,
	    "hoverKind": "SynopsisDocumentation" // No/Synopsis/Full, default Synopsis
	},
	
	"files.eol": "\n", // formatting only supports LF line endings
}

该文件不是保存在工作目录,而是C:\Users\[hostname]\AppData\Roaming\Code\User。

至此,环境安装、配置完成。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wonderBlock

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值