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