go语言同一个包内文件间的函数调用
本文阐述如何在Go语言项目中,同一个包内的不同文件中调用函数。 以一个实际项目结构为例,讲解如何在router.go文件中调用handler.go文件中的函数。
假设项目结构如下:
gin_demo ├── app │ └── blog │ ├── handler.go │ └── router.go ├── go.mod ├── go.sum ├── main.go └── routers └── routers.go
main.go文件引入了gin_demo/app/blog包,并使用router.go中导出的函数。问题是如何在app/blog/router.go中调用handler.go中的ahandler和bhandler函数?
router.go文件内容:
立即学习“go语言免费学习笔记(深入)”;
package blog import ( "github.com/gin-gonic/gin" ) func Routers(e *gin.Engine) { e.GET("/a", ahandler) // 直接调用ahandler e.GET("/b", bhandler) // 直接调用bhandler }
关键在于:router.go和handler.go位于同一个包blog内。 在Go语言中,同一个包内的文件可以互相直接访问包内定义的函数和变量,无需使用import语句。 无论函数名是否以大写字母开头(是否导出),包内可见性都允许直接调用。
因此,router.go可以直接调用handler.go中的ahandler和bhandler函数,无需任何额外导入。 这是Go语言包管理机制的特性,简化了包内代码的组织和调用。
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END