在Go语言中,如何在同一个包内的兄弟文件中调用函数?

在Go语言中,如何在同一个包内的兄弟文件中调用函数?

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
喜欢就支持一下吧
点赞11 分享