使用NFA(不确定有穷自动机)实现简单正则

leetcode 第10题 正则表达式匹配其实我并不太喜欢使用动态规划来实现正则,但我看解题大多人都在用动规,有一个大佬用了NFA但代码不是很适合新手看,所以写一个简单点的解题方法。有穷自动机的核心就是状态转换图,以最简单的 abbc 匹配 ab*c 为例上图虽然看着比较乱,但其实很好理解。图上的一


迈向泛型!Go1.18正式版发布!

在响了数所后,Go的泛型终于正式落地 1.18 版本。而本次更新中最引人注目的无疑就是泛型的引入。虽然Go创始人反对泛型,但最后还是来了。


Go实现可伸缩线程池

线程池顾名思义,是用来管理线程的一个对象。但并不带表它很简单。所以这里来实现一个简易的可伸缩线程池


Go热更新

Go如何热更新,其实一直是一个问题。现在比较流行的方式,基本都来自 Graceful Restart In Golang 这篇由 Grisha Trubetskoy 所提出的方案。所以我也依据在佬所提出的方案,实现个简易的热更功能。


调试编译Go源码

通过修改Go的源码后,手动编译Go文件,以此来学习Go相关的知识。


Go的版本控制历史

如果去追寻Go的第一步,那我们会看到Go源码的第一个提交竟然在1972年,而这竟然和Go项目的版本控制历史有关!


Go sync包使用详解

Go语言中的sync包是常用的一个内置包之一,其主要用于多协程(Goroutine),多并发之间的锁协调。1.Lockertype Locker interface {Lock()Unlock()}Locker是一个接口,只包含两个方法2.Mutextype Mutex struct {state