gpt4 book ai didi

go - 如何使用 golang 内置的 Untar (golang.org/x/build/internal/untar)

转载 作者:IT王子 更新时间:2023-10-29 02:31:05 25 4
gpt4 key购买 nike

这似乎是一个非常简单的问题,但对于我来说我无法弄清楚。

我想做的就是解压缩并提取 tar.gz 文件的内容。在 godoc 上,似乎有一个函数的引用正是这样做的。 (https://godoc.org/golang.org/x/build/internal/untar)。

虽然没有示例,但我似乎无法弄明白。更糟糕的是,我什至不知道如何访问该函数。

现在我有:

package main

import (
"io"
"os"
//???
)

func main() {

f, err := os.Open("foo.tar.gz")

if err != nil {
panic(err)
}
defer f.Close()

var freader io.ReadCloser = f


err = untar.Untar(freader, ".") // <- Compiler doesn't recognize

if err != nil {
panic(err)
}

freader.Close()

}

最佳答案

你不能。包含 internal as part of their name 的包裹不能被同一个仓库之外的任何包使用。换句话说,golang.org/x/build/internal/untar 仅适用于 golang.org/x/build,编译器不允许您引用它来自其他任何地方。

如果您真的喜欢,您可以将该包的源代码复制到一个新文件中,然后从那里使用它,但您不能直接使用它。这使内部解压包的开发人员可以完全自由地破坏他们的界面,而不必担心其他用户。

关于go - 如何使用 golang 内置的 Untar (golang.org/x/build/internal/untar),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54151293/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com