跳至主要內容
Cobra 系统化你的命令行程序

你自己写代码经常会go run xxx.go,但是如果一个仓库下有一个cmd目录并且之下会有很多main函数,那么你每次启动都会go run cmd/xxx.go xxxx,这样做很ugly,有没有办法让启动程序更优雅美观一些呢?当然是有的,社区有很成熟的命令行库程序,例如今天我们来介绍的Cobra.


离心原创大约 7 分钟tutorialgolangcobra
samber/lo 包提升我们代码中的迭代质量

samber/lo 包提升我们代码中的迭代质量

github.com/samber/lo是基于go1.18版本之后的Lodash的工具库,Lodash则是一个一致性、模块化、高性能的JavaScript实用工具库,用于提升开发者效率,提高原生JavaScript方法的性能,在业界赫赫有名。

lo 项目开始时作为一个有新泛型实现的实验,在某些方面可能看起来像Lodash。作者曾使用go-funk包进行编码,但go-funk使用反射(reflection),因此不是类型安全的,使用不当可能还会导致panic。


离心原创大约 2 分钟tutorialgolanggoreleasertool
cron定时任务

定时任务是我们经常使用到的库,Linux crontab 是用来定期执行程序的命令。


离心原创大约 5 分钟tutorialgolangairgin
迭代器模式

迭代器模式(Iterator Pattern)是一种行为型设计模式,它提供了一种顺序访问集合元素的方法,而不需要暴露集合的内部表示。


离心原创大约 5 分钟tutorialgolangdesign-patterns
中介者模式

中介者模式是一种行为型设计模式,它定义了一个对象,用于封装一组对象之间的交互。中介者模式使得各个对象不需要显式地相互引用,从而降低了它们之间的耦合度。


离心原创大约 3 分钟tutorialgolangdesign-patterns
命令模式

命令模式(Command Pattern)是一种行为型设计模式,它将一个请求封装为一个对象,从而使你可以用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。


离心原创大约 4 分钟tutorialgolangdesign-patterns
备忘录模式

备忘录模式是一种行为型设计模式,它可以在不破坏对象的封装性的前提下,保存和恢复对象的内部状态。备忘录模式可以实现对象的撤销、回滚、恢复等功能。


离心原创大约 3 分钟tutorialgolangdesign-patterns
状态模式

状态模式是一种行为型设计模式,它允许一个对象在其内部状态改变时,改变其行为。状态模式将对象的状态和行为分离,使得对象可以在运行时切换不同的状态,从而实现不同的行为。


离心原创大约 2 分钟tutorialgolangdesign-patterns
策略模式

策略模式是一种行为型设计模式,它定义了一系列的算法,将它们封装在一个个的策略类中,并使它们可以互相替换。策略模式可以根据不同的情况,选择不同的算法来完成相同的功能。


离心原创大约 3 分钟tutorialgolangdesign-patterns
2
3
4
5
6