Golang Go语言中定义模块

发布于 1周前 作者 htzhanglong 来自 Go语言

Russ Cox 大神关于 vgo 的第 6 篇博文 : https://research.swtch.com/vgo-module

翻译见这里: https://lingchao.xin/post/vgo-module.html
Golang Go语言中定义模块


更多关于Golang Go语言中定义模块的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html

8 回复

国际惯例,自沙 ~~

更多关于Golang Go语言中定义模块的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


现在看到你头像就知道 Cox 发文了

😄,主要是 Russ 一下子扔出来好几篇,我得一篇一篇来

楼主最近活跃在电报群和 v2ex/go

被你发现了?😄

internal 是特有的术语,好像不应该翻译为 “内部目录约定”

嗯 多谢指出

在Go语言中,定义模块主要是通过包(package)来实现的。Go语言的模块化设计是其核心特性之一,它帮助开发者更好地组织和管理代码。

  1. 包声明:每个Go源文件都以package关键字开头,后面跟着包名。这个包名用于在导入时引用该模块的代码。例如,如果你正在编写一个名为mathutils的工具包,你的文件开头应该是package mathutils

  2. 导入包:在需要使用其他包的代码时,可以使用import关键字导入。例如,import "fmt"会导入标准库中的fmt包,允许你使用其中的格式化输入输出功能。

  3. 模块路径:在Go 1.11及更高版本中,引入了Go Modules来管理依赖。模块路径通常与项目的仓库地址相关,例如github.com/user/repo。你可以通过创建一个go.mod文件来定义模块路径和依赖关系。这个文件是自动生成的,但你也可以手动编辑来指定模块版本。

  4. 公共和私有标识符:在Go中,以大写字母开头的标识符是导出的(即公共的),可以被其他包访问。以小写字母开头的标识符则是未导出的(即私有的),只能在本包内部访问。

  5. 构建和测试:使用go build命令可以构建模块,而go test命令则可以运行模块中的测试代码。

通过合理使用包和模块,Go语言开发者可以创建出结构清晰、易于维护的代码库。

回到顶部