文章目录
引入外部包
实现Demo: 引用rsc.io/quote
包来实现打印输出
一、查找需要引用的包
比如说我现在想要找一个quote
的包,那么可以通过如下步骤进行操作:
-
访问
pkg.go.dev
,并且输入你想要查找的包的名称注:
pkg.go.dev
是Go的源代码仓库,你可以在这里找到所有关于Go的源代码以及第三方已发布代码。 -
之后可以查看自己想要导入的包的相关信息
-
点击对应的包可以查看到包的相关API文档
主要包括如下几个部分:README、Documentation、Source Files。其中Documentation里面又包含了:Overview、Index、Constants、Variables、Functions、Type。我们可以通过查看包的相关信息学习API的使用方法,以便我们在实际的代码中引用该包。
二、引入需要导入的包
和【Go成长之路】Hello Go
一样,我们依然在hello
工程下进行代码编写。将hello.go
的内容替换如下:
go
package main
import (
"fmt"
"rsc.io/quote/v4" // 包的名称就是我们在pkg.go.dev中搜索的包的名称
)
func main() {
fmt.Println(quote.Go()) // 可以在包的对应的API文档中查看包调用的函数
}
之后首先要在hello
工程内下载对应的包:
sh
pzs@pzs-ubuntu22:~/go_study/hello$ go env -w GO111MODULE=on
pzs@pzs-ubuntu22:~/go_study/hello$ go env -w GOPROXY=https://goproxy.cn,direct
pzs@pzs-ubuntu22:~/go_study/hello$ go get rsc.io/quote/v4
go: downloading rsc.io/quote/v4 v4.0.1
go: added rsc.io/quote/v4 v4.0.1
注:这里使用了https://goproxy.cn,direct
这个镜像源进行加速下载,因为在国内的环境下有着许多中国 Gopher 们无法获取的模块,比如最著名的 golang.org/x/...
,并且在中国大陆从 GitHub 获取模块的速度也有点慢,因此推荐大家使用镜像源进行下载!
当然,为了方便,我们也可以将镜像源直接添加到$HOME/.profile
文件末尾处,这样就不用每次使用go get
下载命令的时候都需要设置镜像源了。添加的内容如下所示:
sh
# 启用 Go Modules 功能
export GO111MODULE=on
# 阿里云
go env -w GOPROXY=https://goproxy.cn,direct
下载完包之后,还需要添加go.sum
文件用于验证我们下载的镜像是否是正确的,没有被篡改,这也是Go语言中基于安全考虑的地方。当然,Go语言不需要我们手动创建这个文件,只需要通过如下命令即可实现:
sh
$ go mod tidy
到此,我们在工程内就可以正常引用我们的包了。
三、运行程序
运行hello.go
以查看您正在调用的外部包的函数:
sh
pzs@pzs-ubuntu22:~/go_study/hello$ go run hello.go
Don't communicate by sharing memory, share memory by communicating.
可以看到,我们成功地引用了外部包quote
的Go()
函数了~