Go yaml.v2解组器接口的有状态实现?

Go yaml.v2解组器接口的有状态实现?,go,Go,这可能是一个文件路径问题,也可能是关于如何最好地实现接口的问题 考虑到以下非常简单的yaml: name: MyYamlName data: some/relative/path.txt 我想将其解组到以下结构: type VerySimple struct { name string data io.Reader } 我已经在使用,并且知道对于简单类型,我可以实现接口。然而,在我的程序中,我不能假定一个绝对根,在data字段中,从该根开始建立相对路径 是否有一种方法可以实现

这可能是一个文件路径问题,也可能是关于如何最好地实现接口的问题

考虑到以下非常简单的yaml:

name: MyYamlName
data: some/relative/path.txt
我想将其解组到以下结构:

type VerySimple struct {
    name string
    data io.Reader
}
我已经在使用,并且知道对于简单类型,我可以实现接口。然而,在我的程序中,我不能假定一个绝对根,在
data
字段中,从该根开始建立相对路径


是否有一种方法可以实现
解组器
接口来传递工作目录,或者可能有一种不同的方法来处理Go中的相对路径?

很明显,这是不受支持的。IMO支持它的自然方式是使用一个类似于该类型的解码器类型。可以使用根包含路径或要搜索的包含路径列表对其进行初始化


这样一个特点是没有理由的。它确实提到了处理多个文档,这可能意味着包含一个include路径,尽管还没有明确提到该特定功能。我建议在该线程中提供您的想法。

If认为在这种情况下,后处理可能更简单,尤其是如果您的yaml较小且简单的话。意思是让lib开始工作,然后简单地修改
VerySimple.data
以适合您的实际路径。