在使用了其他人编写的包后,你可能也会想着把自己的包上传出去,将可重用的代码组织为一个独立的单元,以便在其他项目中使用。通过将自己的代码打包为一个包,也可以供与其他开发者使用。
如果打包自己的Go包,需要遵循一些规范和步骤。首先,需要通过使用go mod init命令来规范地定义一个模块并管理依赖。之后,便可以向往常一样编写一些核心代码,并使用适当的目录结构组织你的包。期间,我们还可养成编写测试用例,以确保包代码能够正确工作。
说了那么多,下面便是一个创建自己的包并发布到公共仓库的全过程,注意到这里的仓库是 github
项目初始化
在 go 中项目初始化可以通过 go mod init .. 快速构建,为了打造一个可供他人使用的 github 包,我们需要规范一下我们的包名
go mod init github.com/<username>/<packagename>
这样后续我们就可以打包到 git 仓库,并且想要使用时可以通过 github 来找到我们的 package
项目编写
项目中可以简单构建几个方法用于以后的复用
package mypackage
func Add(a, b int) int {
return a + b
}
在代码中,我们定义了 Add 计算函数,并且指定了包名为 mypackage
当然,对于更加规范的包而言,会有一些测试用例,例如下面的 test.go 代码
package mypackage
import "testing"
func TestAdd(t *testing.T) {
result := Add(2, 3)
if result != 5 {
...
}
}
写完测试用例可以先在本地用 go test 指令测试一遍,以保我们的 package 能正常运行。
代码上传
当包代码准备好即可通过 git 进行上传了
git add .
git commit -m ""
git push origin main
获取自建包
在完成这些步骤后,你可以通知其他人你的包的存在,并分享关于如何导入和使用你的包的文档或示例代码。
其他开发者可以通过导入你的包的路径来使用它
例如,可以通过以下代码来使用你自己的包
import (
"fmt"
"github.com/your-username/mypackage"
)
func main() {
fmt.Println(mypackage.Add(2, 3))
}
运行一下,可以发现正常使用了
通过上述步骤,我们成功地将自己的Go代码打包为一个独立的包,并创建了Go模块、编写了测试用例、设置了Git存储库,并提供了给其他开发者使用的接口。
当你准备发布你的包时,可以根据你选择的仓库和发布方式进行相应的操作。例如,对于GitHub仓库,你可以将包代码推送到远程仓库并设置相关属性(例如描述、标签)。发布到公共仓库上可能涉及不同的步骤,具体取决于你选择的仓库和工具。
总之,通过遵循一些规范和步骤,打包自己的Go包是非常简单的。只需将你的代码组织好,编写测试用例,并将其推送到适当的存储库中,你就可以与其他人共享你的包并让他们使用它。