请选择 进入手机版 | 继续访问电脑版

[Golang] 手把手教你导入Go语言第三方库

[复制链接]
查看96 | 回复17 | 2021-9-14 23:45:05 | 显示全部楼层 |阅读模式
目次

最好的学习方式就是实践。 我们通过导入gin包来深入学习。

环境

  • go 1.13.5
  • goland 2019.3.1
  • manjaro-gnome3.34.2

环境变量

起首 回想一下,我们安装goland的时间 ,设置了几个比较告急 的环境变量,也就是GOROOT和GOPATH。

GOROOT比较轻易 明确 。也就是我们go语言的安装目次 ,标准库什么的就放在内里 的。在linux中的话,默认安装到/usr/lib/go中,我们创建项目时选择的SDK也就是这个。

手把手教你导入Go语言第三方库

GOPATH可以明确 为工作目次 。GOPATH指定的目次 下一样平常 有三个子目次 。如下:

  1. GOPATH //go工作目录
  2. |
  3. |--bin //编译后生成的可执行文件
  4. |
  5. |--pkg //编译后生成的包/库文件
  6. |
  7. |--src //项目的源代码文件
复制代码

bin目次 轻易 明确 ,而pkg包就是放第三方库的地方,像go get后的包就在内里 。src目次 就是放项目源代码的,一样平常 都是把多个项目都放到src目次 下,然后对这些项目同一 管理,也就是共用bin和pkg,假如 在不同目次 放项目,然后把这些项目都放到GOPATH中,显然会有冲突。故一样平常 都不保举 这么做。

我们可以在终端中输入

  1. go env
复制代码
查看环境变量,下面是我的设置 目次 :

手把手教你导入Go语言第三方库

手把手教你导入Go语言第三方库

实践导包

如今 我们先创建一个新项目,现实 尝试一下。

手把手教你导入Go语言第三方库

然后新建一个main文件,输入:

  1. package main
  2. import "github.com/gin-gonic/gin"
  3. func main() {
  4. r := gin.Default()
  5. r.GET("/ping", func(c *gin.Context) {
  6. c.JSON(200, gin.H{
  7. "message": "pong",
  8. })
  9. })
  10. r.Run()
  11. }
复制代码

再打开终端,输入go mod init, 直接跑一下,会发现直接在下载import的包了,这时间 假如 直接跑的话,是发现能直接跑的,但是发现报红, 输入也不会自动 补全。

手把手教你导入Go语言第三方库

这时间 只需打开setting,把go mod打勾,如下。然后直接跑一下,或者重新打开ide因该就不会报红了。

手把手教你导入Go语言第三方库

当然我们也可以手动本身 下载,只需利用 go get下令 。

  1. go get -u github.com/gin-gonic/gin
复制代码

但是发现根本没有反应,输入

  1. go env
复制代码
查看发现有个变量叫
  1. GO111MODULE
复制代码
,这玩意是干什么的呢, 是用来设置 go mod用的,比如什么时间 到go path,goroot去找,或者直接在go mod中找。一共有三个状态。

    1. GO111MODULE=auto
    复制代码
    , 这个是默认值,根据一些环境 自动 判断 是否打开go mod。
    1. GO111MODULE=on
    复制代码
    ,打开go mod
    1. GO111MODULE=off
    复制代码
    关闭go mod

于是我们输入

  1. go env -w GO111MODULE=on
复制代码
打开go mod,再次输入
  1. go get -u github.com/gin-gonic/gin
复制代码
,但是会发现下载的速率 简直感人,这是由于 服务器在国外的嘛,你懂得,我们可以设置代理。

  1. go env -w GOPROXY=https://goproxy.cn,direct
复制代码

再次go get,发现速率 飞起,尝试run一下,假如 出现报红标题 ,像上面那样办理 一下。

当然我们也可以项目放到GOPATH目次 以外。如下

手把手教你导入Go语言第三方库

同样的,假如 要导包的话,像上面那样利用 go mod就行了。

我们可以进入GOPATH目次 下的pkg目次 ,会发现我们导入的包在这内里 的。

手把手教你导入Go语言第三方库

我们也可以进入goland,

手把手教你导入Go语言第三方库

发现外部库有两个,一个是SDK,也就是go的安装目次 (GOROOT),标准库就在这里的。另一个是go mod,就是我们刚刚导入的,放到GOPATH/pkg下的包。

到此这篇关于手把手教你导入Go语言第三方库的文章就先容 到这了,更多相干 Go导入第三方库内容请搜索 脚本之家从前 的文章或继续欣赏 下面的相干 文章渴望 大家以后多多支持脚本之家!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

avatar 囘憶若曦囘t | 2021-9-15 04:29:17 | 显示全部楼层
听admin楼主一席话,省我十本书!
回复

使用道具 举报

avatar 非究思身 | 2021-9-25 08:09:14 | 显示全部楼层
强,我和我的小伙伴们都惊呆了!
回复

使用道具 举报

avatar 静254 | 2021-9-30 11:54:10 | 显示全部楼层
感谢admin楼主的推荐!
回复

使用道具 举报

avatar 123456823 | 2021-10-6 03:56:45 | 显示全部楼层
admin楼主是一个典型的文艺青年啊!
回复

使用道具 举报

avatar 计划你大爷计j | 2021-10-6 18:29:57 | 显示全部楼层
admin楼主你想太多了!
回复

使用道具 举报

avatar 爱可电子蓉 | 2021-10-15 22:43:09 | 显示全部楼层
好无聊啊!
回复

使用道具 举报

avatar 当当当当裤裆坦 | 2021-10-19 04:54:02 | 显示全部楼层
admin楼主加油,看好你哦!
回复

使用道具 举报

avatar 启东1 | 6 天前 | 显示全部楼层
admin楼主,我告诉你一个你不知道的的秘密,有一个牛逼的源码论坛他的站点都是商业源码,还是免费下载的那种!特别好用。访问地址:http://www.mxswl.com 猫先森网络
回复

使用道具 举报

投admin楼主一票,不用谢哦!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则