对于一个人为的例子:
我有两个包,repo.com / apha / A& repo.net/beta/B。包A使用包B,两者都是结构化的。
A:
main.go
B:
b.go
templates \
1.tmpl
2.tmpl
在包A的main.go中,我需要访问包B的模板目录。
b.go
var templates string
templates = templatepath
func init(){
templatepath, _ = filepath.Abs("./templates")
}
main.go
import(
repo.net/beta/B
)
func main(){
fmt.Printf("%s", B.templates)
}
所以问题出现在我更复杂的用例中。这里人为的例子是B.templates将在包A的目录中,我需要建立和引用导入路径的目录。这是学习和导航Go方式的一部分,我的理解可能是基本的,所以我需要了解如何在Go上下文中执行此操作。
我的用例是一个包使用其他包为基础包执行操作的包,这些外部包可能使用标准的Web资源文件(css,html,js)问题是我在打包和引用时遇到麻烦它们抽象地足以满足我的目的。
答案 0 :(得分:1)
你不能,你必须使用像go-bindata这样的东西,或者只是将模板作为consts嵌入你的B
包中。
<强> tmpl1.go 强>:
const tmpl1 = `........`