如何将包装中存在的文件读取到属于同一包装的另一个文件中?

时间:2019-07-02 09:51:45

标签: go

我正在尝试将包中存在的文件(a.go)读取到另一个文件(b.go)中,该文件也存在于同一包中。我使用了 os.Open()方法,但是只有当我给出文件的完整系统路径(例如:home / bin / xyz / a.go)时,它才起作用。

但是,我希望在不使用整个系统路径的情况下将文件(a.go)读入(b.go) 。谁能帮忙吗?

文件夹

  -- a.go

  -- b.go

//在b.go内部,我们有一个功能//

func (xyz){

x:= os.Open("--path to a.go--") // This path shouldn't be the system path

}

1 个答案:

答案 0 :(得分:-4)

您可以使用此技术获取当前文件的路径。

_, srcpath, _, _ := runtime.Caller(0)
dirpath := filepath.Dir(srcpath)
err, fp := os.Open(filepath.Join(dirpath, "a.go"))
if err != nil {
     // err
}
...
fp.Close()