go项目初始化搭建

go的代码刚看没几天 老大就直接丢了个go的项目给我,说后面有几个功能有时间让我试着优化看看...

代码是直接压缩包传给我的(一点也不技术

image

目录如上(上面一堆文件夹就是依赖包,业务代码都是main.go,其他没啥,结构很清晰)

那我就想把项目搭建起来,跑跑看


刚学习没几天,我知道go语言中有个GOPATH非常重要,该路径关系着依赖包是否能够成功依赖,

所以我就先尝试着修改GOPATH

修改完,结果发现,功能强大的GoLand还是一堆报错,其中就包括依赖包缺失,我就知道光修改GOPATH肯定出问题了

这个时候老大发了两个命令给我

image

go mod ???
百度了下,发现!!!

从go1.10往后基本就放弃通过GOPATH来管理依赖包了,转而使用gomod,(我看的学习视频是两年前的T.T

基本命令也不多,目前我使用到的就两个

  1. go mod init {项目名}
  2. go mod tidy

注意点

go mod init.
1. go mod init 后面要跟上项目名,否则会报错 类似(go: cannot determine module path for source directory /Applications/MxSrvs/go_project/tpa_subhook (outside GOPATH, module path must be specified))
2. 项目名别瞎取,最好和文件名,项目名保持一致
3. go: creating new go.mod: module tpa_subhook 即执行成功,会在项目目录下生成go.mod文件。我这边是等待了一小会儿,等的时候,我一度以为这个命令没起作用...
4. import gifhub上的依赖包,直接写网址就好
5. import 本地依赖包,项目名/依赖包名 项目名就是go mod init 后面设置的名字

go mod tidy.
1. go mod tidy 执行的时候,我这里一直在报错 (.......dial tcp 142.251.43.17:443: i/o timeout),即使我挂了梯子也不行...百度了一下,确实是因为翻墙的原因(可能我的梯子太渣了.)。go env 查看环境配置GOPROXY="https://proxy.golang.org,direct" GOSUMDB="sum.golang.org" 主要是第二个参数导致的,但是我们修改第一个就好了(o.o), export GOPROXY=https://goproxy.io 再次执行 go mod tidy就下载成功了。
2.执行成功后,会出现go.sum文件

你可能感兴趣的:(go项目初始化搭建)