1.4 golang开始——开发环境搭建

需要一个go的开发环境:SDK(等同于java的jdk)

基本介绍

SDK(software development kit 软件开发工具包)

SDK是提供给开发人员使用的,其中包含了对应开发语言的工具包

SDK下载

Golang的官网为:The Go Programming Language

Golang中文社区:Go下载 - Go语言中文网 - Golang中文社区

我下载的是  go1.22.0.windows-amd64.msi 

安装SDK

傻瓜式安装,可以安装在D盘

安装目录如下 D:\golang

GOROOT 

检查golang编译器是否有添加到环境变量,如果没有则手动添加(一般都会自动添加)。

设置GOROOT作用:将golang编译器添加到环境变量,使golang在任何目录都能运行

 

GOPATH 

检查GOPATH是否有自动维护, 没有则手动添加,GOPAT目录可以自行选择;GOPATH/bin目录需要添加到用户path下(这下面两个图中的配置。都是安装sdk之后自动生成的)

从Go 1.8开始,将GOPATH设置为环境变量不是必需的。如果我们没有设置一个,Go使用默认的GOPATH为$HOME/go。可以使用go env查看环境变量信息。 

go命令直接支持使用modules,包括记录和解析对其他模块的依赖性。modules替换旧的基于GOPATH的方法来指定在给定构建中使用哪些源文件。

 使用 go.mod之后,可以在 $GOPATH/src 目录之外创建 Golang项目

 

备注:可以自定义GOPATH。但是修改GOPATH的时候,上面两图所圈都得改,要相互呼应,如下图。

检查一下安装好了没有: 

配置vscode 

安装go的相关插件

设置 GOPROXY 环境变量 

GOPROXY控制Go Module下载的来源,有助于确保构建的确定性和安全性。

在本地配置 vscode 的开发环境时,vscode 的 golang 插件需要依赖 gopls进行代码补全功能、dlv(go-delve)进行调试 。

【当写第一个.go文件自动触发安装gopls、dlv】

但在本地安装时,却提示了 read: connection reset by peer 的错误

设置 GOPROXY 环境变量为国内的镜像源即可解决问题

法1:通过命令行

go env -w GO111MODULE=on 【1.16版本之后这个是默认开启的,这个配不配无所谓】

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

法2:图形化的方式,配置环境变量

再次安装相关插件 

 调式

  1、 go run main.go 不需要go.mod

  2、F5调式start debugging

        前提

              vscode 安装了 dlv

              go.mod文件

                   go mod init xxxx

由于要写一个入口程序,入口函数必须要叫main函数。就是操作系统要找运行的起点,得给个入口。C语言、java、c++都是这样。

main函数要运行,必须在main包里。

运行程序

 go mod init xxxx 【使用go mod 管理整个项目 xxxx习惯上写项目名,可以使用域名】

 

go mod 依赖管理

通过 go mod init 模块名 可以生成 go.mod文件

go mod 命令 

go mod download

将模块下载到本地缓存,需要指定模块路径及版本号。

本地缓存的位置即GOPATH。通过命令:go env 可以查看GOPATH   在GOPATH中的pkg/mod里

(go mod download仅下载当前依赖,不会下载当前依赖的依赖)


go mod download

# 例如
# go mod download github.com/gin-gonic/gin@v1.9.0

go mod init

初始化一个新的模块到当前目录

go mod init

# 例如
# go mod init gomodcase

go mod tidy

【go mod tidy 会下载依赖的依赖】

添加缺少的依赖,删除未使用的依赖

go mod tidy

go mod edit

通过工具或脚本编辑go.mod

#添加依赖项
go mod edit -require="github.com/gin-gonic/gin@v1.9.0"


#替换路径,old[@version]替换成 new[@version]
#                                    源路径    =  目标路径   
go mod edit -replace="golang.org/x/crypto@v.0.0=github.com/golang/crypto@1.2.3"


#排除第三方依赖的某个版本
go mod edit -exclude="github.com/gin-gonic/gin@v1.9.0"


#当前项目作为其他项目的依赖时,添加撤回版本用于排除有问题的版本
go mod edit -retract="v1.0.0"
go mod edit -retract="v1.1.0"


#删除撤回版本记录
go mod edit -dropretract="v1.0.0"


#根据go.mod中的依赖项制作vendor副本
#有了vendor副本,项目将不再依赖本地缓存
go mod vendor



#验证依赖是否正确
go mod verify




#返回对指定模块的依赖关系最短路径,解释为什么依赖指定包
go mod why
#例如:go mod why github.com/go-playground/validator/v10





go install/get/clean

【go get 会下载依赖的依赖】

# go installl 安装可执行插件
# 例如
go install github.com/google/gops@latest


# go get 获取模块信息并更新go.mod文件
# 若本地缓存没有改模块,则下载模块;若有则直接使用
# 例如
go get github.com/gin-gonic/gin@v1.8.2


# go get -u 更新模块依赖,并更新go.mod
go get -u github.com/gin-gonic/gin@v1.9.0


# go clean 清理临时目录中的文件
# 例如:清理整个module下载的缓存文件
go clean -modcache

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值