golang写业务代码,用全局函数还是成员函数

在golang中,函数划分为全局函数和成员函数,在使用的时候,有种情况,会产生一些疑惑的,就是在写业务代码的时候,使用全局函数好像会比较方便,一般业务代码,都不会复用,都是针对特定的业务进行编程,要复用的代码都会封装为功能函数了。在写业务代码的时候,使用包+全局函数的划分方式,可以将业务代码写成单例,把receive也省略掉了,简单清晰。

使用包+全局函数的方式来划分模块,很多项目在写业务代码的时候,都是这样操作的,但这样会增加目录的层次,看起来会比较啰嗦。

因为使用包划分代码,业务代码使用的变量都成为了包内函数,这样在多个包内文件会互相污染,而多个业务中,可能会用到相同的变量,这样要么通过命名来避免,要么通过将包划分更细进行避免,通过命名来解决,实在太过于啰嗦,不考虑。

拆分后,很可能的代码结构:

src
├── user
│   ├── user.go
├── auth
│───├── auth.go 

这样很明显,拆分出来的目录太多了,几乎每一个业务一个,也是比较啰嗦的,但也还算比较清晰,但还是不够好。

为了使代码更加清晰简洁,我觉得业务代码应该使用成员函数来实现,代码的结构应该是下面这样:

src
├── user.go
├── auth.go

这样层次简单,查看代码的时候也没那么啰嗦,而且也遵从了一种原则:要维护状态的函数,都写成成员函数,反之则可以是全局函数

转载于:https://www.cnblogs.com/xiaohunshi/p/10357121.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值