Golang利用策略模式优化if…else和switch

都知道大量 if else 对代码维护和设计都及其不友好,即便是你换成 switch 也并不那么理想,这里推荐主要利用策略模式优化。

需求:比如有20个甚至更多的消息模板,每个模板ID 对应要操作都可能不一样,比如文案,参数计算等。如果一个一个去独立写对应函数然后if else继续条件流程调用显得格外鸡肋,那么请用策略模式优化吧。

[Read More]

Golang Gin框架中间件实现操作日志统一管理

在大部分后台管理中都会出现操作日志模块的需求,一般情况你会想到创建一个操作日志表 opLog 然后就是在每个 api 的地放调用插入数据即可。

如上所述,这样的设计确实十分灵活可以让每个写api的开发人员自由的操作内容,但是也比较费时间和精力。

[Read More]

Go标准库数据结构系列之堆heap

堆 这种数据结构是比较难搞的一种,但是它在实际工程中的实用性又比较高,能够有效的解决实际中遇见的问题。

那么在 go语言中是如何要实现一个heap的呢,其实在官方标准库 container/heap 已经给你实现了,你只需要根据自己实际情况进行接口实现即可。

[Read More]

Golang基础13问

最近看见一篇关于go基础的问题,算是给自己的一个小考验,很多基础的东西当你回过头来看看也许有新的认识,当然这些题也适合出面试题。

[Read More]