在 golang 里判断字符串是否相等,最简单的方法就是用==
判断,如果要提高性能,就使用strings.Compare
。
如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
package main
import (
"fmt"
"strings"
)
func main(){
fmt.Println(strings.Compare("golang","GoLang"))
fmt.Println(strings.Compare("GoLang","golang"))
fmt.Println(strings.Compare("golang","golang"))
fmt.Println(strings.EqualFold("GoLang","golang"))
fmt.Println(strings.EqualFold("golang","GoLang"))
}
输出:
1
2
3
4
5
1
-1
0
true
true
使用 strings.Compare
比较两个字符串的结果有三:1,0,-1
strings.EqualFold
是忽略大小写的比较,返回bool
本文网址: https://golangnote.com/topic/250.html 转摘请注明来源
There are 2 Comments to "Golang字符串相等比较的性能"
可是strings.Compare也是用==的方式判断的呀
@HDJ #1 官方SDK注释说明了,代码看起来是相同,但编译过程稍不同,
strings.Compare
方法不会调用runtime
的cmpstring
方法所以快。