1.  
  2. 主页
  3.  / 
  4. Go语言视频教程课件
  5.  / 
  6. Go语言教程之开发环境配置

Go语言教程之开发环境配置

本文视频教程可从以下方式进入,感谢关注并对喜欢的视频一键三连。

可从 B 站搜索:”兰三石”。

或者直接点击此处 B 站视频传送门

“工欲善其事,必先利其器”,要想使用Go语言开发程序,那么配置Go语言开发环境,就是一个必不可少的环节了。

Go 安装

Go语言的安装,与大部分软件的安装方式都是一样的,下载对应的安装包、二进制文件或者源代码,安装部署即可,当然也可以使用系统提供的包管理工具安装,例如Centos的yum,Mac的brew等。

安装过程比较简单,网上也有很多教程,就不在此过多赘述了,搜索引擎搜索一下相关文档即可。

go module 配置

我们使用go module来进行依赖版本管理,因此我们按照go module的使用场景来配置我们的环境变量。

go module是官方提供的依赖版本管理工具,方便我们在任何目录都可以进行Go语言程序的开发。

我们简单了解下go module的发布历史,go 1.11 的时候,发布了go module这种依赖管理工具,但是当时还不是很成熟。go 1.13 的时候官方正式将go module 做为了默认的依赖版本管理工具,go 1.14后就正式推荐可在生产环境使用了,所以无论是我们的演示例子,还是后面的实战项目,都是使用的go module管理我们的依赖。

环境变量配置

export GOPATH="~/go"
export GOROOT="/usr/local/go"
export PATH=$PATH:/usr/local/go/bin
  • GOPATH:Go全局工作区,go module依赖下载后,在存放在 GOPATH 的 pkg/mod下面。
  • GOROOT:Go的安装路径。

上面配置好后,确认go module是否开启。如果未开启,需要调整未开启的状态。

通过 go env 查看,go 相关的环境变量。

$ go env |grep 111
GO111MODULE="on" # on 是开启,off 是未开启

Go语言在下载依赖的时候,因为访问的都是国外的地址,因此会非常的慢,而且经常会出现超时的情况,因此,就需要配置代理来加速依赖的下载。

咱们这里就是配置七牛云的代理,来进行依赖下载加速了。

go env -w GOPROXY=https://goproxy.cn # 推荐
# linux
export GOPROXY=https://goproxy.cn
# windows
set GOPROXY=https://goproxy.cn

初始化项目

新项目

随便在系统上找个位置,创建一个目录。然后执行 go mod init $projectName,注意 $projectName是你自己定义的名字。

mkdir myProject  # 创建一个目录
cd myProject  # 进入刚创建的目录
go mod init myProject   # 通过 go module 初始化成项目的根路径,或者叫做项目的工作目录

执行完go mod init myProject后在当前项目根目录下,创建一个go.mod的文件。

依赖安装会创建一个go.sum文件。

go.modgo.sum都是负责维护当前项目需要的依赖版本的,这两个文件会根据go module相关的命令进行自动的更新调整。增删改依赖版本。

旧项目

如果需要对一个已经存在的项目启用go module,可以按照以下步骤操作:

  1. 在项目目录下执行go mod init,生成一个go.mod文件。
  2. 执行go get,查找并记录当前项目的依赖,同时生成一个go.sum记录每个依赖库的版本和哈希值。

go.mod

module fiy

go 1.17

require (
	github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751
	github.com/alibaba/sentinel-golang v0.6.1
)

其中,

  • module用来定义包名
  • require用来定义依赖包及版本
  • indirect表示间接引用

当我们访问的依赖无法连接的时候,同时github上存在这种依赖的话,则可以使用replace这种方式替换成github上对应的库。

replace (
    golang.org/x/text v0.3.7 => github.com/golang/text v0.3.7
)

go mod 命令参数

go mod download    # 下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录)
go mod edit        # 编辑go.mod文件
go mod graph       # 打印模块依赖图
go mod init        # 初始化当前文件夹, 创建go.mod文件
go mod tidy        # 增加缺少的module,删除无用的module
go mod vendor      # 将依赖复制到vendor下
go mod verify      # 校验依赖
go mod why         # 解释为什么需要依赖

IDE的选择

IDE: 集成开发环境。

我们想要快速的进行开发,辅助工具也是不能少的,IDE的选型也是比较重要的,毕竟使用了一种IDE一段时间后,在切换IDE还是会有很多不舒服的地方。

市面上的IDE,也是有不少种类的,用的比较多也就GolandVisual Studio Code,当然可以根据自己的习惯进行选型,有的人甚至会直接使用Vim进行开发,自己觉得舒服习惯即可。

  • Goland:JetBrains 旗下专门为Go开发的IDE,集成了很多功能,自动补全、高亮显示、丰富的插件系统等等。功能很强大,不过是收费,可以通过花钱购买或者开源项目作者的方式申请使用。
  • Visual Studio Code,这个也是一个非常不错的轻量型IDE或者应该叫做编辑器更为贴切,支持各种语言,但是需要安装对应的插件,并且插件系统非常的强大,而且最重要的是,它是免费的,所以现在很多程序员都开始使用这个工具了。

总的来说,你想用功能强大但是收费的那么就选择Goland。不想付费的话,就可以考虑下Visual Studio CodeVisual Studio Code安装上对应的插件后,也是很不错的。

第一个Go程序

如果上面的动作都做完了,Go安装、环境变量配置好了、IDE也选择好了,那么就开始我们第一个Go程序了。输出“Hello world!”

package main // 必须要有的

import (  // 引入依赖
	"fmt"
)

func main() { // 入口函数,主函数
	fmt.Println("Hello World!")
}
  • package:包名,一组程序的集合。
  • import:导入fmt库。
  • main:主函数,也称为入口函数,在一个完整的Go项目中,只能允许一个main函数的存在。

运行程序

go run main.go

编译程序

go build main.go

go 常用命令行工具

  • go build:成程序编译成可执行二进制文件。
  • go run:将程序先编译成可执行二进制文件,在运行程序。
  • go fmt:格式化代码。
  • go test:运行测试命令
  • go get:下载第三方依赖库的命令。
  • go version:查看Go语言版本。
  • go env:查询与Go语言相关的环境变量。
这篇文章对您有用吗? 1

我们要如何帮助您?

发表评论

您的电子邮箱地址不会被公开。