go语言基础-包、模块

互联网 2021/10/10 23:45:55

go程序由多个包组成,包是同一目录下编译在一起的源文件的集合。在一个源文件中定义的函数、类型、变量和常量对同一包中的所有其他源文件可见。 一个存储库包含一个或多个模块。模块是一起发布的相关 Go 包的集合。 Go 存储库通常只包含一个模块,位于存储库的根目录。一…

go程序由多个包组成,包是同一目录下编译在一起的源文件的集合。在一个源文件中定义的函数、类型、变量和常量对同一包中的所有其他源文件可见。
一个存储库包含一个或多个模块。模块是一起发布的相关 Go 包的集合。 Go 存储库通常只包含一个模块,位于存储库的根目录。一个名为 go.mod 的文件声明了模块路径:模块中所有包的导入路径前缀。该模块在包含其 go.mod 文件的目录中包含包以及该目录的子目录,直到包含另一个 go.mod 文件(如果有)的下一个子目录。
每个模块的路径不仅用作其包的导入路径前缀,而且还指示 go 命令应该在哪里下载它。例如,为了下载模块 golang.org/x/tools,go 命令将查询 https://golang.org/x/tools 指示的存储库。
新建包
导入路径是用于导入包的字符串。包的导入路径是其模块路径与其在模块内的子目录相连。例如,模块 github.com/google/go-cmp 在目录 cmp/ 中包含一个包。该包的导入路径是 github.com/google/go-cmp/cmp。标准库中的包没有模块路径前缀。

设置GOBIN

go env -w GOBIN=/somewhere/else/bin
要取消设置先前由 go env -w 设置的变量,请使用 go env -u

新建模块

mkdir greetings
cd greetings
go mod init example.com/greetings // 创建go.mod 用来追踪代码的依赖项。在代码中添加依赖项时,go.mod 文件将列出代码所依赖的版本,这使构建可重现以及控制要使用的模块版本。
// 添加本地依赖
go mod edit -replace example.com/greetings=../greetings
// 下载依赖
go mod tidy 模块依赖会自动下载到 GOPATH 环境变量指示的目录的 pkg/mod 子目录中。
// 删除所有下载的模块
go clean -modcache

安装模块

安装目录由 GOPATH 和 GOBIN 环境变量控制。如果设置了 GOBIN,二进制文件将安装到该目录。如果设置了 GOPATH,二进制文件将安装到 GOPATH 列表中第一个目录的 bin 子目录中。否则,二进制文件将安装到默认 GOPATH($HOME/go 或 %USERPROFILE%\go)的 bin 子目录中。
go install 模块路径
go install example/user/hello
go install . // 模块目录内
go install
export PATH=$PATH:$(dirname $(go list -f '{{.Target}}' .)) 将安装的模块添加到PATH中,方便执行

模块内建包

在模块内新建文件夹,然后编写go 文件,源码文件标识新的包名,然后执行go build 。
go build 不会产生输出文件。它将编译的包保存在本地构建缓存中。
然后使用go install 安装模块

随时随地学软件编程-关注百度小程序和微信小程序
关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[go语言基础-包、模块]http://www.zyiz.net/tech/detail-239659.html

上一篇:Mongodb可参考的查询

下一篇:django的环境配置和模型类的设计

赞(0)
关注微信小程序
程序员编程王-随时随地学编程

扫描二维码或查找【程序员编程王】

可以随时随地学编程啦!

技术文章导航 更多>
扫一扫关注最新编程教程