
Go语言中同一个包内不同文件使用小写函数名
Go语言的包管理机制决定了包内可见性。在同一个Go包内,所有文件都可以直接访问包内声明的函数和变量,而无需考虑其名称大小写。
本文以一个名为gin_demo的项目为例,其结构如下:
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函数。
handler.go:
package blogimport "github.com/gin-gonic/gin"func ahandler(c *gin.Context) { // 处理逻辑}func bhandler(c *gin.Context) { // 处理逻辑}
router.go:
package blogimport ( "github.com/gin-gonic/gin")func routers(e *gin.Engine) { e.GET("/a", ahandler) e.GET("/b", bhandler)}
由于router.go和handler.go属于同一个blog包,因此router.go可以直接调用ahandler和bhandler,无需import或将函数名改为大写。 Go语言包内的可见性允许这种直接调用。 因此,router.go中的代码无需修改,可以直接使用ahandler和bhandler。
总结:在同一个Go包内,文件之间可以直接访问包内声明的函数和变量,无论其名称是否为大写字母开头。 不需要显式导入或导出。
需要注意的是,虽然包内可见,但是良好的代码风格仍然建议将对外暴露的函数使用大写字母开头,以明确表示其为包的公共接口。 而内部使用的函数,使用小写字母开头,可以提高代码的可读性和可维护性。
以上就是在同一个包内的不同文件中如何使用小写名称的函数?的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1386487.html
微信扫一扫
支付宝扫一扫