Brak opisu

marion f208abd1cd update README.md 3 lat temu
utils fa3cbe1e87 go phone 4 lat temu
.gitignore 1dffc7f302 go mod 4 lat temu
LICENSE c780a5d89e init 5 lat temu
README.md f208abd1cd update README.md 3 lat temu
go.mod eb1f0195d3 redis sentinel 4 lat temu
main.go 7a67528b13 调整目录结构 4 lat temu

README.md

Golang common library

Golang开发环境安装

安装

此处 下载安装

环境变量配置

Windows

在我的电脑->属性->高级->环境变量->系统变量中添加以下环境变量:

GOROOT=C:\go
GOPATH=%USERPROFILE%\go
GO111MODULE=auto
GOPROXY=https://goproxy.cn
GOPRIVATE=git.aionnect.com

PATH环境变量末尾添加 %GOROOT%\bin

MAC OS X

sudo vi ~/.bash_profile

修改以下项目

export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH="${GOROOT}/bin:${PATH}"
export GO111MODULE=auto
export GOPROXY=https://goproxy.cn
export GOPRIVATE=git.aionnect.com

source .bash_profile

更新配置

与Java、Python、NodeJS、PHP等均不同,只是开发环境需要安装用于代码编译,生产环境直接运行项目编译好的可执行文件即可,无需安装任何类似JRE、Python、v8、PHP的虚拟机或运行时环境!

执行以下操作前请理解并确认:

  1. GOPATH 环境变量已配置,例如配置到用户目录下的go目录
  2. GOPATH 目录是用于存放golang项目和其相关依赖的目录,所有golang项目代码都应该位于GOPATH目录中的src子目录下的包括代码托管地址、组织名、项目名在内的多级子目录下
  3. GO111MODULE 环境变量指定golang管理依赖包的模式,auto,则当项目中有go.mod文件时,采用go mod模式
  4. GOPROXY设置golang获取依赖包的代理,此处设置七牛云官方提供的代理
  5. GOPRIVATE设置跳过go proxy直接获取的代码仓库,一般设置为组织私有代码仓库域名

获取项目

GO MOD

golang已经是1.14或更新版本,强烈建议项目都采用go mod方式进行依赖包管理

go mod方式下,不再使用GOPATH src目录,自有项目也不再强制要求放置于全局或额外GOPATH的src子目录结构中,go mod版本号来源于git tag

但go install构建结果依然放在全局GOPATH的bin目录中,且go mod的带版本依赖包也放置在全局GOPATH的pkg目录中

go mod项目初始化,建议mod名称为代码仓库全路径,可保持在所有项目中引用路径一致,如

go mod init git.aionnect.com/aionnect/go-common

获取

如上述配置后,正常情况直接执行 go mod tidy 命令即可获取所有依赖

但如果获取非https的私有仓库报错,可参照如下处理

执行下列命令临时关闭goproxy代理

export GOPROXY=

获取包,如果在go mod模式项目中执行,会自动将go get获取的依赖加入go.mod文件

go get -v -insecure -d git.aionnect.com/aionnect/go-common

参数:-v 显示详情,-insecure 非https版本仓库路径,-d 仅获取,不编译安装到GOPATH

重启控制台,或临时设置goproxy代理,使goproxy代理

export GOPROXY=https://goproxy.cn

go mod常用命令

获取和清理依赖包

go mod tidy