问题:
是否可以将 Go 包组织到多个源目录而不需要用户有繁琐的导入?
答案:
不,Go 语言规范中没有明确支持它。语言规范规定,包可能要求所有源文件驻留在同一目录中。
实现多个目录的后果:
如果您尝试声明“package” mypackage”在多个目录中,你会遇到编译错误。发生这种情况是因为语言规范允许实现拒绝此类结构。
推荐方法:
建议使用以下方法,而不是组织到目录中:
有限范围的内部包(Go 1.5 及更高版本):
在 Go 1.5 及更高版本中,您可以使用“内部”子文件夹在包内创建内部包。这允许您将源文件组织到不同的文件夹中,同时仍然保持包内的层次结构。但是,外部包无法导入或使用内部包。
以上是Go 包可以跨多个目录而无需复杂的导入吗?的详细内容。更多信息请关注PHP中文网其他相关文章!