本文详细讲述如何在 Windows 系统上搭建 Go语言的开发环境,以供借鉴或参考。文章将介绍Go语言的VSCode、GoLand、Vim三种开发环境,大家可以灵活选择。 1、Go语言简介 Go语言(又称Golang)
本文详细讲述如何在 Windows 系统上搭建 Go语言的开发环境,以供借鉴或参考。文章将介绍Go语言的VSCode、GoLand、Vim三种开发环境,大家可以灵活选择。 1、Go语言简介Go语言(又称Golang),起源于2007年,并在2009年由Google正式对外发布。Go语言是一种静态强类型、编译型、并发型,并具有垃圾回收功能的编程语言,它的主要目标是“兼具 Python 等动态语言的开发速度和 C/C++ 等编译型语言的性能与安全性”。Go语言目前可以达到C/C++ 80%的运行性能,其编译速度远快于Java和C/C++。
Go语言是编程语言设计的又一次尝试,是对类C语言的重大改进,它不但能让你访问底层操作系统,还提供了强大的网络编程和并发编程支持。Go语言的用途众多,可以进行网络编程、系统编程、并发编程、分布式编程。 GO语言有如下特性:
Go语言的推出,旨在不损失应用程序性能的情况下降低代码的复杂性,具有“部署简单、并发性好、语言设计良好、执行性能好”等优势,目前国内诸多 IT 公司均已采用Go语言开发项目,特别是在大型互联网公司有着广泛的应用。 很多重要的开源项目都是使用Go语言开发的:
2、安装GitGo语言开发过程中用到的第三方包,需要使用 git 下载,因此 git 是必?可少的。下载地址为:https://gitforwindows.org。 假设安装?径为 C:\Program Files\Git,需要将以下?径添加到环境变? PATH:
这个地方初学者需要注意一下,Git默认是采用命令行手动输入命令去操作的。还可以像SVN那样通过UI界面去做操作,只要下载TortoiseGit就好了。 3、Go 工具链(编译?)安装先到GO语言官网 Downloads - The Go Programming Language 下载最新版本的GO语言安装包,双击按照向导完成安装: Golang开发环境涉及到几个环境变?,比较重要的是:GOROOT,GOPATH。使用go env命令就可以查看 Go 的环境变?,?带参数打印所有环境变?:
3.1、环境变量GOROOTGOROOT其实就是Golang的安装目录。新版本的GOROOT已经不需要设置了。Golang编译器安装后,会自动把%GOROOT%\bin目录添加到环境变量PATH。 如下所示,这是我电脑上安装完 Golang 后,在命令行中输出的Go版本:
3.2、环境变量GOPATH可以把GOPATH指向的目录,理解为工作目录,其作用是告诉Go命令和其它相关工具,在哪里找系统上安装的Go包。 GOPATH可以指向多个路径,与其它环境变量的设置一样,用相同的分割符分割。windiows 系统分割符是 ; ,linux 系统分割符是 : 。 默认的GOPATH是%USERPROFILE%\go\bin。在没有Go Modules之前,通常都需要修改GOPATH的值。GOPATH 的目录结构,是约定好的,不可修改:
3.3、Go常用命令go build 在源代码目录执?该命令,编译该目录下的源代码,生成可执?程序或库。 go install 除了编译,还进?安装(将生成的结果拷贝到指定目录)。可执?程序拷贝到 %GOPATH%\bin,库拷贝到 %GOPATH%\pkg。 go get 从远程仓库获取代码,同时进?编译和安装。 4、包管理由于国内众所周知的网络原因,?能直接访问 golang 的官方网站,由此导致?能自动安装依赖项,这也是搭建 Go 开发环境最麻烦的地方。为解决网络问题,有以下几种方法:
这?提供手动安装依赖的方法,只需要安装一次,其它各种开发环境都可以共享使用。 4.1、go module自从 Go 官方推出 v1.11 之后,增加新的依赖管?模块并且?加?于管?项目中所需要的模块。模块是存储在文件树中的 Go 包的集合,其根目录中包含 go.mod 文件。 go.mod 文件定义了模块的?径,它也是用于根目录的导入?径,以及它的依赖性要求。每个依赖性要求都被写为模块?径和特定语义版本。 从 Go 1.11 开始,Go 允许在 $GOPATH/src 外的任何目录下使用 go.mod 创建项目。在 $GOPATH/src 中,为了兼容性,Go 命令仍然在旧的 GOPATH 模式下运?。当 module 功能启用时, GOPATH 在项目构建过程中?再担当 import 的角色,但它仍然存储下载的依赖包,具体位置在 $GOPATH/pkg/mod 。 为了保持与兼容,环境变?如下设置: GOROOT : ?需要设置,设置了也没关系GOPATH : 保持默认。设置其它目录也可以,但 项目代码 ?能放在%GOPATH%\src 目录下,否则 go module 需要明确启用GO111MODULE : 保持默认。GOPROXY : 值为 https://goproxy.io 。设置代?,启用模块后,用于下载需要翻墙才能访问的包。其它可用的代?网址: 这样设置的好处是,当项目源代码在 %GOPATH%\src 目录下时,使用旧版本的模式查 GO111MODULE 有以下几种值: off:go 命令?将?会支持 module 功能,寻找依赖包的方式将会沿用旧版本那种通过 vendor 目录或者 GOPATH 模式来查找。on:go命令?会使用 modules,而一点也?会去 GOPATH 目录下查找。auto:默认值,go 命令?将会根据当前目录来决定是否启用 module 功能。这种情况下可以分为两种情形:当前目录在 GOPATH/src 之外,且该目录包含go.mod 文件,或者该目录是包含 go.mod 文件的目录的子目录。 打开命令?,保证当前目录?是 %GOPATH% 及其子目录,执? go get 即可正常安装第三方工具包。 4.2、gopmgopm 是 Go 的一个包管?工具,有如下特性: 无需 Git 和 Hg 等版本管?工具,就可以下载指定版本的 Go 语言包可以解决翻墙问题,在国内有加速效果只能下载依赖的包的源码,?能编译安装 官方网址:https://gopm.io gopm基本用法:
5、编写Go语言代码的IDE或编辑工具5.1、基于VSCode的Go开发环境5.1.1、安装VSCodeVSCode 全称是 Visual Studio Code,是微软开发的免费开源的现代化轻现级代码编辑器,支持几乎所有主流的开发语言的语法高亮、智能代码补全、自定义快捷键、括号匹配和颜色区分、代码片段、代码对比 Diff、GIT命令 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux,运行流畅,可谓是微软的良心之作。 5.1.2、安装插件进入 VSCode,单击左侧的 扩展图标,或者按 Ctrl+Shift+X 快捷键,即可打开扩展管理页面: 常用插件列表有:
安装完 Go 插件后,打开一个来 go 文件或项目,VSCode 会自动提示安装依赖,点击“安装”,等待安装完成即可。如果安装失败,参考下面的方法。第三方工具、包的安装,?论基于?么IDE、编辑?,操作方法都是一致的。 启用 go module 的,执?如下命令,手动安装:
5.1.3、常用配置 修改配置的方法:文件 -> 首选项 -> 设置,或者快捷键 Ctrl+.(需要先将焦点移出编辑 这是我在用的配置(settings.json 文件的部分内容),在此分享给大写。
5.2、GoLandGoLand 是 JetBrains 公司推出的商业 Go 语言集成开发环境(IDE)。GoLand 同样基于 IntelliJ 平台开发,支持 JetBrains 的插件体系。JetBrains 还有其它众多IDE,比如 IDEA,WebStorm,PyCharm, PHPStorm 等。 双击按照向导完成安装即可。由于是商业IDE,只能免费试用 30 天。网上有破解方 5.3、VimVim 又称为神级文本编辑?,支持众多特性,速度飞快,有很多在牛都用它写代码。使用 Vim 写 Go 代码,需要插件 vim‐go ,官方地址:https://github.com/BroQiang/vim-go-ide 。 如果有 VPN,可以直接访问 golang.org 的话,执?命令:GoInstallBinaries 可以自动安装依赖的第三方工具。详细配置就?介绍了,对于熟悉 Vim 的同学?难,?熟悉的也没必要浪费时间折腾,安心使用 VSCode 或 GoLand 就好了。 第三方工具、包的安装,参考 VSCode 开发环境中插件安装一节。vim-go 插件依赖的第三方包列表:
5.4、其他Go代码编写工具 除了 VSCode、GoLand 和 Vim ,还有其它一些工具可以用来写 Go 代码,有兴趣的可
6、Go语言学习资?分享最后,提供一些 Go语言的在线学习资?和网站。 一些在线学习网站:
一些推荐的电子书:
|
2022-04-28
2022-04-21
2022-05-13
2022-08-17
2022-02-25