Go 是否使用包文件写入云存储?

Go 是否使用包文件写入云存储?,go,Go,Golang提供访问云存储的服务 包的创建函数需要io.WriteCloser接口。但是,我还没有找到一个示例或文档来说明如何将文件实际保存到云存储 有人能帮忙吗?是否有更高级别的io.WriteCloser实现,允许我们在云存储中存储文件?有样本代码吗 显然,我们自己也曾尝试过谷歌搜索,但没有发现任何结果,现在希望社区能够提供帮助。这可能比文档中没有明确定义的行为更真实 如果您检查代码: 在每次写入数据的调用中,数据都被发送到云(第139行)。所以你不需要存钱。(完成后,应通过关闭文件。) 无

Golang提供访问云存储的服务

包的创建函数需要io.WriteCloser接口。但是,我还没有找到一个示例或文档来说明如何将文件实际保存到云存储

有人能帮忙吗?是否有更高级别的io.WriteCloser实现,允许我们在云存储中存储文件?有样本代码吗


显然,我们自己也曾尝试过谷歌搜索,但没有发现任何结果,现在希望社区能够提供帮助。

这可能比文档中没有明确定义的行为更真实

如果您检查代码:

在每次写入数据的调用中,数据都被发送到云(第139行)。所以你不需要存钱。(完成后,应通过关闭文件。)

无论如何,我对你的措辞感到困惑:“包的Create函数需要io.WriteCloser接口。”这不是真的。包的Create函数返回一个io.WriteCloser,即可以写入和关闭的东西

yourFile, _, err := Create(ctx, "filename", nil)
// Check err != nil here.

defer func() {
    err := yourFile.Close()
    // Check err != nil here.
}()

yourFile.Write([]byte("This will be sent to the file immediately."))
fmt.Fprintln(yourFile, "This too.")
io.Copy(yourFile, someReader)

这就是Go中接口的工作方式。它们只是为您提供了一组可以调用的方法,对您隐藏了实际的实现;而且,当您仅仅依赖于一个特定的接口而不是一个特定的实现时,您可以以多种方式进行组合,如
fmt.Fprintln
io.Copy
do.

返回并检查
Create
中的错误,并使用'defer'作为'Close.@peterSO True.已编辑。