go源码分享---Ascii字符包含判断
Ascii 字符包含判断
最近换工作,暂时离开了世界上最好的语言,成为了一名 golanger (这好象是一个 web 框架的名字),这一次打算养成良好的习惯,那就从写博客开始吧。
文章背景
正在琢磨自己用 go 实现一个脚本语言,写词法分析的时候,需要匹配字符串的功能,既然编译器都自己写了,这也自己写一个吧,去研究了下 go 的实现,发现设计的很巧妙,所以分享一下,美中不足的是只适用于 ascii 码
源码展示
type asciiSet [8]uint32
const RuneSelf = 0x80
// 判断是否包含
func (as *asciiSet)contains(c rune) bool {
return (as[c<