Guan 发布的文章

Rust 中的 mod (模块)


起步

初看《Rust 程序设计语言》第七章的模块管理时,完全有不知所云之感。看完就“懵”住,也不晓得 mod 要怎么用。上 B 站找相关视频,稍解惑,却未细讲单个文件如何拆分到多个文件。最后在 github 找到 rust 语言编写的项目,方如梦初醒。

我很喜欢这种一致性设计,也就简单说一下。


Manjaro xfce 合盖不关屏幕


最近买了显示器,macbook pro 的扩展坞却没买,干脆把大学时的电脑利用起来。

我的需求就是:笔记本主机一般的存在,放书桌下边,外接显示器;笔记本需要合盖。

一阵搜索后,得到的解决都是在 /etc/systemd/logind.conf 文件中,要么修改 HandleLidSwitch,要么修改 HandleLidSwitchDocked,再或者是 LidSwitchIgnoreInhibited,结果都不生效。这或许是桌面系统不同的缘故?


Go 1.13 之后的 error 检查


起步

如果说 Go 有很多诟病的地方,那么 Go 中 error 的处理一定可以挤进吐槽榜单前十。既然 try语句提议被一拒再拒,我们也只好用着古老的 if 筛选错误。Go 官方并非没有意识到 error 的鸡肋问题,于是在 Go 1.13 提出了新解决方案,总的说来就是“三个 api + 一个格式占位符”。


Mediator 中介模式


起步

中介模式属于行为型。中介类负责封装一组对象的交互,让类与类之间不再直接通信,而是通过中介类间接交流,从而降低程序的复杂度。

这种降低复杂度的方式多以:把一组对象之间的多对多关系,转化为一对多关系


Visitor 访问者模式


起步

访问者模式属于行为型。它会把操作(operator)与结构(structure)分离,使得在不改变原有结构的情况下,添加更多的其他操作。

以上解释让人很懵逼,那就结合代码细细道来吧!