Golang 字符串比较
一般来说,有三种方法:
==
比较strings.Compare
比较strings.EquslFold
比较
例:
#### 代码示例
```go
fmt.Println("go"=="go")
fmt.Println("GO"=="go")
fmt.Println(strings.Compare("GO","go"))
fmt.Println(strings.Compare("go","go"))
fmt.Println(strings.EqualFold("GO","go"))
执行结果如下:
true
false
-1
0
true
Compare 和 EqualFold 区别
- 要注意的是
Compare
函数是区分大小写的,==
速度执行更快
EqualFold
是比较UTF-8编码在小写的条件下是否相等,不区分大小写
其中要注意的一个点是,Golang默认字符全部都是UTF8的格式,只输入英文时也并不会转为ANSCII码格式,因此len获取的字符串长度即使是纯英文也是2倍,在写一些算法题目的时候可能因为语言特性有点坑。
0 条评论