我正在尝试将包中存在的文件(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
}
答案 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()