Go安装配置

一、Go 安装

进入Go下载网站:https://golang.google.cn/dl

1、Windows

下载Windows平台的安装包到本地,然后运行安装包,跟着提示走就可以安装完成。

2、Linux

  • 下载Linux平台的压缩包到本地,解压到任意目录,如:/opt
  • 编辑/etc/profile,在末尾添加:
export GOROOT=/opt/go
export PATH=$GOROOT/bin:$PATH
  • 执行source /etc/profile,然后重启(否则只在当前终端中有效,新开终端需要再次执行命令才生效)。

二、查看版本

go version

三、查看环境变量

go env

四、开启 Go Modules

go env -w GO111MODULE=on
这里的GO111MODULE是为了使用用go mod

五、设置 Go 模块代理

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

  • GOPROXY的默认值是:https://proxy.golang.org,direct,但是proxy.golang.org在国内是无法访问的,所以需要在开启Go Modules时,同时设置国内的Go模块代理。
  • GOPROXY的值是一个以英文逗号“,”分割的Go模块代理列表,允许设置多个模块代理,假设你不想使用,也可以将其设置为“off”,这将会禁止Go在后续操作中使用任何Go模块代理。
  • direct是一个特殊指示符,用于指示Go回源到模块版本的源地址去抓取(比如GitHub等),场景如下:当值列表中上一个Go模块代理返回404或410错误时,Go自动尝试列表中的下一个,遇见direct时回源,也就是回到源地址去抓取,而遇见EOF时终止并抛出类似“invalid version: unknown revision…”的错误。

链接:Goproxy 中国

六、下载和安装 Go Tools

  • 方法1
    go get -u golang.org/x/tools/...
    链接:golang/tools
  • 方法2
    在VS Code中按下快捷键Ctrl+Shift+P打开命令面板,在搜索框中输入:Go: Install/Update Tools,点击进去然后全选,点击确定等待安装。如果出现失败就换下代理地址,安装后重启VS Code。

七、安装 VS Code 调试工具

go get -v -u github.com/peterh/liner github.com/derekparker/delve/cmd/dlv

八、go mod 常用命令

        go mod是一种包的管理方式,modules和传统的GOPATH不同,不需要包含例如srcbin这样的子目录,一个源代码目录甚至是空目录都可以作为module,只要其中包含有go.mod文件。

1、初始化模块

go mod init 包名
会在对应的目录下生成一个go.mod文件。

2、更新现有依赖

go mod tidy
根据go.mod文件来整理现有的依赖,删除未使用的依赖。

3、把项目依赖库下载到项目内部

go mod vendor
我们基go mod机制来管理我们项目的依赖库版本,其中go.mod记录了依赖库版本信息。一般第三方依赖库(包括公司内网gitlab上的依赖库),其源码都不被包含在我们的项目内部,而是在编译的时候go连接公网、内网下载到本地GOPATH,然后编译。问题是,有些时候需在无公网、无内网(无法连接内网gitlab)的情况下编译go项目,如何做呢?
在此时,需使用go mod vendor将项目的依赖库下载到项目内部,作为项目的一部分来编译。

九、使用私有仓库

1、配置ssh替代http

推荐使用ssh替代http(参考:Git笔记 的第2点设置仓库地址代理)例如:

# 此处使用了别名, 避免包引用名称太长
git config --global url."ssh://git@192.168.3.33:3333/".insteadOf "https://mylib.com/"

2、设置私有仓库

设置私有仓库,例如:

go env -w GOPRIVATE=mylib.com/go/base.git

3、拉取私有仓库

拉取私有仓库,例如:

go get mylib.com/go/go/base.git@master

可能遇到问题:

go: mylib.com/go/go/base.git@master-0.20240710060229-0dcc439c334e: invalid version: git ls-remote -q origin in /root/workspace/golang/pkg/mod/cache/vcs/0767fa6834f24d58177f73b8fb123465896ff4299edfdc04a7e1cc68f73e52da: exit status 128:
        fatal: unable to look up mylib.com (port 9418) (No address associated with hostname)

原因: 没有配置ssh密钥导致的
解决方案: 配置git ssh密钥,并手动拉取一次git clone https://mylib.com/go/base.git

4、代码中使用

import (
	logger "mylib.com/go/go/base.git/logger"
	"mylib.com/go/go/base.git/database"
)
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值