Go 字符串比较
在Go语言中,字符串是使用UTF-8编码编码的不可变的任意字节链。您可以使用两种不同的方式来比较字符串:
1.使用比较运算符:转到字符串支持比较运算符,即==,!=,> =,<=,<,>。在这里,==和!=运算符用于检查给定的字符串是否相等。和> =,<=,<,>操作符用于查找词法顺序。这些运算符的结果为布尔类型,意味着如果条件满足,则返回true,否则返回false。
字符串的==和!=运算符示例1:
//包含字符串的==和!=运算符 package main import "fmt" func main() { //创建和初始化字符串 //使用简写声明 str1 := "Geeks" str2 := "Geek" str3 := "nhooo" str4 := "Geeks" //检查字符串是否相等 //使用==运算符 result1 := str1 == str2 result2 := str2 == str3 result3 := str3 == str4 result4 := str1 == str4 fmt.Println("Result 1: ", result1) fmt.Println("Result 2: ", result2) fmt.Println("Result 3: ", result3) fmt.Println("Result 4: ", result4) //检查字符串是否不相等 //使用!=运算符 result5 := str1 != str2 result6 := str2 != str3 result7 := str3 != str4 result8 := str1 != str4 fmt.Println("\nResult 5: ", result5) fmt.Println("Result 6: ", result6) fmt.Println("Result 7: ", result7) fmt.Println("Result 8: ", result8) }
输出:
Result 1: false Result 2: false Result 3: false Result 4: true Result 5: true Result 6: true Result 7: true Result 8: false
字符串的比较运算符示例2:
//字符串的比较运算符 package main import "fmt" func main() { //创建和初始化 //使用速记声明 myslice := []string{"Geeks", "Geeks", "gfg", "GFG", "for"} fmt.Println("Slice: ", myslice) //使用比较运算符 result1 := "GFG" > "Geeks" fmt.Println("Result 1: ", result1) result2 := "GFG" < "Geeks" fmt.Println("Result 2: ", result2) result3 := "Geeks" >= "for" fmt.Println("Result 3: ", result3) result4 := "Geeks" <= "for" fmt.Println("Result 4: ", result4) result5 := "Geeks" == "Geeks" fmt.Println("Result 5: ", result5) result6 := "Geeks" != "for" fmt.Println("Result 6: ", result6) }
输出:
Slice: [Geeks Geeks gfg GFG for] Result 1: false Result 2: true Result 3: false Result 4: true Result 5: true Result 6: true
2.使用Compare()方法:您还可以使用字符串包提供的内置函数Compare()比较两个字符串。在比较两个字符串后,此函数返回整数值。返回值为:
如果str1 == str2,则返回0 。
如果str1> str2,返回1 。
如果str1 <str2,返回-1 。
语法:
func Compare(str1, str2 string) int
//字符串使用compare()函数 package main import ( "fmt" "strings" ) func main() { //比较字符串使用比较函数 fmt.Println(strings.Compare("gfg", "Geeks")) fmt.Println(strings.Compare("nhooo", "nhooo")) fmt.Println(strings.Compare("Geeks", " GFG")) fmt.Println(strings.Compare("GeeKS", "GeeKs")) }
输出:
1 0 1 -1