Go 泛型不是银弹,但该用不用也是蠢

Go 1.18 引入泛型那天,社区分了两派。

一派高潮:终于不用写 interface{} + 类型断言的狗屎样板了。另一派恐慌:这玩意肯定把 Go 的简洁性毁了,等着看代码变得跟 C++ 模板一样没法读吧。

四年过去,两派都错了。

泛型既没有拯救 Go,也没有毁灭 Go。它只是在某些场景下恰好是正确工具,在另一些场景下纯粹是画蛇添足。这篇文章不讲泛型的语法——今天能用 Go 4.0 的人不需要再看教程。我直接给结论:哪些地方该用,哪些地方碰都别碰。

未经他人苦,莫劝他人善:你的人生课题,与我无关

未经他人苦,莫劝他人善;你若经我苦,未必有我善。

这句话你肯定听过。但今天我不打算跟你讨论这句话的哲学内涵——我要说的是另一面。

比劝你大度更恶心的,是那种把自己的烂摊子往你身上甩的人。

你走过多难的路,经受过多少不公,外人无法体会,也没资格指手画脚——这点基本共识我相信还有点。但有一类人,他们从不体谅别人,却擅长把自己的苦难包装成你的责任,理直气壮地要求你买单。

今天我就要把这种人彻底扒干净。

systemd 隐藏技能:别再只会 sudo systemctl restart 了

systemctl restart nginx。敲完。搞定。关掉终端。

这是 99% Linux 用户和 systemd 的日常关系。systemd 是个巨复杂的工具,但你只用了它的三个子命令。

不是你的问题——入门教程就只教这三个。

但这玩意儿真正实用的功能藏在后面。这篇文章翻几个出来,都是你明天上班就能用的。