创建一个 Golang 库
使用 go 模块
在本文中,您将学习如何使用 go mods 创建自己的库并将其导入所需的项目。
首先让我向您介绍一下 gomodules 是什么。
“模块是存储在文件树中的 Go 包的集合,其中包含 ** 去.mod** 根目录下的文件。这 ** 去.mod** 文件定义了模块的模块路径,它也是用于根目录的导入路径,以及它的依赖要求,这是成功构建所需的其他模块。”
换句话说,一个 go 模块将帮助我们获得对您项目的依赖项,而无需包含供应商包。通过使用 golang 模块,我们的项目更具可扩展性和可维护性,因为如果我们发布了一些库的新版本,我们可以轻松更新,在我们的实现中保留新版本。
现在想想一个实际的例子,我们正在构建一个使用一些云服务的 REST API 服务,然后我们选择使用一个框架来简化 API 流程,我们选择使用外部 SDK 来连接云服务,这将有助于我们不要从头开始创建所有代码,因为我们将使用可以提供的 Golang 库和一个非常好的 Rest API 框架。为了管理它,我们将使用 go mod 来处理依赖关系。
那么,我们如何将依赖项导入到项目中呢?将依赖项导入你的 golang 项目的方法是执行以下命令 ** 去安装provider.com/repo/package
** ,这将获取库并将与库和使用的版本相关的行添加到我们的 go.mod 文件中,我们将能够在我们的项目中使用它。
创建我们自己的库
酷!,此时您已经了解了 go mod,但现在我们将讨论如何创建自己的库,以及如何在不同的项目中使用它们。
有时我们创建的软件解决方案可以帮助我们处理不同服务中的常见行为,然后我们可以将该代码移动到 lib 并在我们想要的服务中使用它们。但是我们该怎么做呢?准备好让我们开始吧。
我们需要什么?
- 创建库存储库。
- 对于这一点,我们将使用 Github 来存储我们的基本代码,这将帮助我们管理 lib 版本控制。
2. 编写库代码。
– 在本教程中,我们将定义两个函数来计算形状的面积,在本例中为圆形和矩形。
3. 编写主应用程序代码。
– 这里我们将使用 lib 代码。
创建 lib 存储库
创建一个存储库文件夹:
mkdir 计算库示例
之后,我们需要将代码推送到我们的 github 帐户以创建存储库。
回声“#calculate-lib-example”>> README.md
混帐初始化
git 添加 README.md
git commit -m “第一次提交”
git 分支 -M 主要
git远程添加原点[ [email protected]](/cdn-cgi/l/email-protection#c8afa1bc88afa1bca0bdaae6aba7a5) :{accountName}/calculate-lib-example.git
git push -u 原点主
现在,在根文件夹中,您必须添加下一个文件夹和 golang 文件(暂时将它们保留为 e,pty)
-- 包
------ 形状
---------- area.go
编写lib代码
我们需要的第一件事是添加 go.mod 文件,为此我们需要运行以下命令:
去 mod init github.com/{userName}/calculate-lib-example
运行后我们会看到一个新文件 去.mod 它在根文件夹中自动生成,内容如下:
模块 github.com/{userName}/calculate-lib-example 去 1.19
使用该文件,我们表明我们正在项目中使用 go 模块。
现在在 area.go 我们只需要定义两个函数来计算面积,一个用于矩形,另一个用于圆形。
完成上述所有操作后,只需将更改提交到您的 GitHub 存储库。
混帐添加 *
git commit -m "你的评论"
git push origin 主要
编写主应用程序代码
对于这一部分,我们可以根据以下内容定义项目结构:
-- 计算器
------ 命令
--------- main.go
第二步是创建 去.mod 通过运行文件:
去 mod init github.com/{userName}/calculator
完成后,我们需要安装我们的依赖项:
去安装 github.com/{userName}/calculate-lib-example
运行命令后,我们将看到以下行进入我们的 去.mod 文件
模块 github.com/josue/calculator 去 1.19 需要 github.com/{userName}/calculate-lib-example v0.0.0-20220903214241-51d23a6471fe
准备好了,我们现在可以像通常使用另一个库一样使用该库了。
很简单吧?,我希望在阅读完这篇文章后,您有一些想法,可以在需要时开始编写代码库。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明
本文链接:https://www.qanswer.top/18418/20070608
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/287871.html