Go语言系列-Go安装与配置

一、Go环境搭建

1. Go环境下载与安装

A. Go语言安装包下载

Go语言安装包下载页面网址:https://golang.google.cn/dl/,其页面如下

(如果上述网站打不开或者开启缓慢,也可以使用Go语言中文网的下载地址:https://studygolang.com/dl)

Go语言系列-Go安装与配置_第1张图片

请大家按照各自电脑去选择对应的安装包,我这里选择的是最新的Windows的安装包,因为Go语言从1.18版本开始,支持泛型,并在1.19版本进行了优化;如果由需要的小伙伴们,可以在下方去选择历史稳定版本的Go语言,但是建议版本在1.13以上

B. Go语言Windows安装

下载好Go语言安装包后,双击点开,除了选择一个自己的喜欢的安装位置外,一直next即可,对应环境变量的配置将在第二节详细讲解

验证Go语言安装成功的方法也很简单,只需要在命令提示行,去查看对应Go的版本即可

go version

结果如下图所示

Go version

C. IDE配置

我这里选择了Jet brain专门为Go开发而准备的IDE——Goland,当然也有很多人选择了IDEA+GO插件来进行开发,这种大家可以自行百度来配置

Goland的配置,在建立工程的时候,如下图所示,按图选择好后,直接create即可

Go语言系列-Go安装与配置_第2张图片

此外,针对于控制台打印,为了便于查看打印内容,我们需要隐藏一部分的内容,这里我们可以进行如下设置:

首先双击Shift键(或者Ctrl+Shift+A),调出快速搜索框,选择Action选项卡,输入Registry,如下图所示

Go语言系列-Go安装与配置_第3张图片

点击黄色位置,在弹出的对话框中,向下滑动,找到go.run.process.with.pty这个属性,然后取消勾选,就可以啦,如下图所示

Go语言系列-Go安装与配置_第4张图片

2. Go环境配置与依赖管理

通过如下命令可以查看已安装的Go语言的一些配置

go env

其中比较重要的配置就是如下几个:GOPROXY(用于拉取标准库和第三方库的地址),GOROOT(Go语言的本地安装目录), GO111MODULES(GO MOD开关),

A. Go镜像依赖管理及环境变量配置

go env —w GO111MODULES=on  // 注意这里要小写,不是大写ON,也不是1或者true等
/* 特定场景小需要关闭或开启某些设定*/
SET GO111MODULES=off // Mac为export

/* 镜像配置(可以访问下面的网址去看看) */
go env —w GOPROXY=https:// goproxy.cn,direct

B. goimports(依赖包管理工具)安装

go install golang.org/x/tools/cmd/goimports@latest

这里我们在IDE中去进行配置,如下图所示

Go语言系列-Go安装与配置_第5张图片

C. Go依赖管理

Go语言的依赖管理,经历了三个阶段,分别为GOPATH,GOVENDOR和go mod

  • GOPATH

    • GOPATH:是一种环境配置,默认值在~/go(unix,linux),%USERPROFILE%\go(Windows);管理方式:所有的依赖默认来这个环境变量下的文件夹内寻找,这样会造成,所有的项目都放到了GOPATH的目录下面,会越来越大(尤其是第三方库等等),而且,在GOPATH主目录下会存在版本兼容性问题
    • GOPATH还存在特定的文件目录结构:在GOPATH目录下建立子文件夹src,用于存放代码文件;在src下代码文件下新建子文件夹vendor(/src/project/vender),用于存放项目见不同版本的一些依赖;
  • GOVENDOR

    • 每个项目都有自己的vendor目录,存放第三方库;同时存在一些三方依赖管理工具,通过配置三方工具的配置文件,来管理依赖的下载和存储
  • GO MOD

    • 由GO命令统一进行管理,不必关心目录结构
    • GO MOD可以直接拉取相对应的依赖,并在依赖完成后,在文件目录go.mod中生成对应的require,且在每一条依赖的后面注释一个indirect,该注释会在相对应依赖被使用后,自动消除
    • 生成一个新的文件go.sum,其中写明所有拉取过程中得到的库及其版本
    go mod tidy  // 此命令用于清洁go.sum中依赖换版本后,不在使用的依赖
    
    • GO MOD在拉取库依赖时,如果库本事支持GO MOD,那么就会显示明确版本,如v1.0.3,否则则是对应最新版本,但显示为如:v0.0.0-{{TimeStamp}}-{{Hash}}这种形式,会存在go目录下pkg文件夹下
  • 项目迁移入GO MOD中进行管理

    • GoLand中会自动提示去帮助我们来管理我们的依赖(此种一般仅处理当前目录下的项目依赖)
    go mod init + module名称  // 给就项目添加mod管理
    
    go build ./...  // 可以一次性将目录下所有的项目的依赖
    
    go get xxx  // 用于添加依赖
    
    • 当完成了项目迁移后,可以将GOVENDEOR残留下的vendor文件夹及第三方配置文件,如glide.yaml一并删除

D. GO目录整理

因为GO语言本身build命令,只允许一个目录下存在一个main函数,所以,所有存在main函数的go文件,需要单独放在一个独立的文件夹下面,而不能一起放到同一个根目录下

本文至此便告一段落,祝各位码上无ERROR,键盘无BUG!!

你可能感兴趣的:(GO,golang,开发语言,后端)