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倍,在写一些算法题目的时候可能因为语言特性有点坑。

分类: Go

0 条评论

发表回复

Avatar placeholder

您的电子邮箱地址不会被公开。 必填项已用 * 标注