go - 如何为别人创建golang模块?

标签 go

示例场景

我有一个 AWS S3 存储桶,其中包含许多我的应用程序需要访问的对象。应用程序使用一些可用的信息来形成 S3 对象名称、获取对象并对对象数据运行转换,然后再将其用于特定于应用程序的进一步处理。

我想创建一个模块来保存形成对象名称的逻辑,从 S3 获取它,然后对对象数据运行转换,这样我就不会在多个地方重复这些函数。

在这种情况下,我应该将 AWS SDK 添加为模块中的依赖项吗?请记住,应用程序可能必须使用 AWS SDK 来执行特定于该应用程序的其他操作,或者可能根本不需要它。

一般来说,解决此类问题的最佳方法是什么,即在哪里添加依赖项?以及如何管理不同的版本?

最佳答案

如果您的代码必须从 AWS SDK 访问包,那么您别无选择,只能将其添加为依赖项。如果没有,并且逻辑是通用的,或者您可以将其从 AWS SDK 中抽象出来,那么您就不需要依赖项(事实上,像 go mod tidy 这样的 go 工具将删除来自 go.mod 的依赖(如果添加的话)

关于go - 如何为别人创建golang模块?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55972122/

相关文章:

mongodb - 用MongoDB官方Golang驱动可以查到一条记录,但是记录是空的

go - 如何合并查询

游览练习: Errors: using Sprintf with %f to avoid infinite recursion

google-app-engine - Martini oauth2callback适配GAE后重定向到oauth2error

json - 如何在 Go 的 map[string]interface{} 中做 deep sets 和 gets?

go - 实现和扩展来自不同包的接口(interface)

unit-testing - Golang : tests and working directory

api - 在哪里保存 Web 应用程序的私钥和凭据?

c++ - 在树莓派上构建 libtensorflow.so 时出错

go - 为什么 Golang 需要接口(interface)?