`go run *.go` 中的文件如何在不导入的情况下访问函数?

我正在学习有关在 Google App Engine 上构建 Web 服务的Bookshelf 教程。

要启动该应用程序,教程将运行go run app.go auth.go template.go。我不明白这是怎么回事。例如,没有 import 语句的app.go中如何使用template.go中的parseTemplate 方法template.go

我的理解是,在 Go 项目中,我们有一个具有 main 方法的入口点文件。然后该文件导入包以在内部使用它们。同时运行这三个文件有什么好处呢?


喵喵时光机
浏览 71回答 1
1回答

慕的地8271018

该示例使用单个包,特别main是用于实现所有内容的包。每个包可能包含多个文件,甚至main包。在包内你不导入任何东西,你可以访问包中的所有内容。规格: 包装:Go 程序是通过将包链接在一起构建的。一个包又是由一个或多个源文件构成的,这些文件一起声明了属于该包的常量、类型、变量和函数,并且可以在同一包的所有文件中访问。这些元素可以导出并在另一个包中使用。当特殊main包被分解成多个文件时,这就是你必须在启动应用程序时列出所有文件的时候:go run app.go auth.go template.go如果示例将被分成多个包,那么您只需要从中导入其他包main才能访问它们。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go