go语言比较字符串的方法:1、使用“==”运算符,语法“字符串1==字符串2”;2、使用strings包的ToLower()函数;3、使用strings包的Compare()函数,可按字典顺序比较两个字符串,语法“strings.Compare(str1,str2)”;4、使用strings包的EqualFold()函数,可忽略大小写的比较字符串,返回值为bool类型。

本教程操作环境:windows7系统、GO 1.18版本、Dell G3电脑。

方法1:使用“==”运算符(区分大小写)

package main

import "fmt"

func main() {
   fmt.Println("go"=="go")
   fmt.Println("GO"=="go")
}
登录后复制

输出:

true
false
登录后复制

方法2:使用strings.ToLower(不区分大小写)

package main

import (
    "fmt"
    "strings"
)

func main() {
    srcString := "This a string"
    destString := "this a string"

    if strings.ToLower(srcString) == strings.ToLower(destString) {
        fmt.Println("相等")
    } else {
        fmt.Println("不相等")
    }
}
登录后复制

输出:

相等
登录后复制

方法3:使用strings.Compare(区分大小写)

Compare()函数是Golang编程语言中的内置函数,用于比较两个字符串。它用于按字典顺序比较两个字符串(按字母顺序排列单词的顺序,类似于我们在字典中搜索单词的方式),或查找字符串是否相等。它返回一个整数值,如下所示:

func Compare(s1, s2 string) int
登录后复制
  • 如果字符串相等(s1 == s2),则返回0

  • 如果字符串1大于字符串2(s1> s2),则返回1。

  • 如果字符串1小于字符串2,则返回-1(s1 <s2)

示例:

package main

import (
    "fmt"
    "strings"
)

func main() {
    fmt.Println(strings.Compare("GO","go"))
    fmt.Println(strings.Compare("go","go"))
}
登录后复制

输出:

-1
0
登录后复制

Compare函数,区分大小写,比自建方法“==”的速度要快,下面是注释
/ Compare is included only for symmetry with package bytes.
// It is usually clearer and always faster to use the built-in
// string comparison operators ==, <, >, and so on.
func Compare(a, b string) int

方法4:使用strings.EqualFold(不区分大小写)

strings.EqualFold 是忽略大小写的比较,返回bool

package main

import (
    "fmt"
    "strings"
)

func main() {
   fmt.Println(strings.EqualFold("GO","go"))
   fmt.Println(strings.EqualFold("go","go"))
}
登录后复制

输出:

true
true
登录后复制

推荐学习:Golang教程