Go语言——使用模糊查询检索关键词小技巧

简介: Go语言——使用模糊查询检索关键词小技巧

平常我们项目中存放类似于标签这种东西的时候,可能第一时间想到的就是beego,go,gin这种方式以,作为分隔符,但是这样是有弊端的,如果我想要通过模糊查询检索关键词go,这里我们会发现beego也会被检索到,那么我们有什么办法可以避免这种情况呢?

可以按照以下格式分割标签:

$beego#$go#$gin#

每一个标签插入数据库的时候都以$开头,#结尾,查询的时候我们也在传入的关键词前后加上$...#,这样我们就可以避免上述情况了,我们再想模糊查询检索关键词go,传下去的数据会被修改成$go#可以发现,这时候beego就不会被检索到了!!!!

例子:

// 处理前:bee beego gin go
label = "$" + strings.Join(strings.Split(label, " "), "#$") + "#"
// 处理后:$bee#$beego#$gin#$go#
相关文章
|
3天前
|
Go 索引
Go 语言切片(Slice)
Go 语言切片(Slice)
9 1
|
3天前
|
存储 Go Python
Go 语言结构体
Go 语言结构体
6 0
|
3天前
|
存储 Go
Go 语言指针
Go 语言指针
8 0
|
3天前
|
JSON Java Go
使用go语言中的内置库调试性能
【5月更文挑战第21天】本文介绍Go 语言提供了内置的 expvar 模块来输出度量数据,帮助定位性能瓶颈。与 pprof 不同,expvar 专注于应用的宏观状态,通过 HTTP 接口 `/debug/vars` 提供标准的 JSON 格式数据,包括自定义度量和内存统计等。通过 expvar,开发者可以轻松监控应用状态,如消息处理速率、内存使用等,而无需像 C++ 或 Java 那样手动实现。
20 0
使用go语言中的内置库调试性能
|
4天前
|
编译器 Go 索引
Go 语言数组
Go 语言数组
9 1
|
4天前
|
Go CDN
Go 语言变量作用域
Go 语言变量作用域
14 4
|
4天前
|
编译器 Go
Go 语言函数
Go 语言函数
14 7
|
4天前
|
自然语言处理 算法 关系型数据库
再谈go语言中字符转换效率问题
【5月更文挑战第20天】本文讨论了Go语言中类型转换的效率,特别是`byte`、`rune`和`string`之间的转换。`性能测试显示,从`[]byte`到`string`的转换,新版与旧版性能相当;但从`string`到`[]byte`,旧版快于新版两倍。此外,文章提到了Unicode校对算法(UCA)的版本差异可能带来的排序和大小写转换不一致问题,这在多语言环境中需要注意。
19 1
再谈go语言中字符转换效率问题
|
4天前
|
编译器 Go 索引
浅谈go语言中的符文字符处理工具
【5月更文挑战第20天】本文简述了Go 1.20之后的rune符文处理工具和函数,`unsafe`包新增了SliceData、String和StringData函数,支持直接将slice转换为array,明确了数组和结构体比较顺序。
19 1
浅谈go语言中的符文字符处理工具
|
5天前
|
Go
Go 语言循环语句
Go 语言循环语句
12 0