go源码分享---Ascii字符包含判断

本文分享了在Go中实现ASCII字符包含判断的源码分析,主要涉及位图哈希表的设计,适合理解Go字符串处理及ASCII码的匹配。虽然只适用于基本ASCII码,但对于特定场景已足够使用。
摘要由CSDN通过智能技术生成

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<
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值