Golang 如何比较两个字符串

Golang有一个内置的字符串函数叫Compare(),我们可以用它来比较两个字符串。在这里,字符串的比较是使用lexicographical顺序。

语法

func Compare(a, b string) int

返回类型

  • 如果字符串(a == b),它返回0。
  • 如果字符串(a>b),则返回1。
  • 如果字符串(a<b),则返回-1。

例子

让我们考虑下面的例子 –

package main
// importing fmt and strings
import (
   "fmt"
   "strings"
)
func main() {
   // Intializing the variables
   var a1 = "a"
   var a2 = "b"
   var a3 = "welcome"
   var a4 = "Golang"
   
   // using the Compare function
   // a1 < a2; it will return -1
   fmt.Println(strings.Compare(a1, a2))
   
   // a2 > a1; it will return 1
   fmt.Println(strings.Compare(a2, a1))
   
   // a3 > a4; it will return 1
   fmt.Println(strings.Compare(a3, a4))
   
   // a4 < a3; it will return -1
   fmt.Println(strings.Compare(a4, a3))
   
   // a1 == a1; it will return 0
   fmt.Println(strings.Compare(a1, a1))
}

输出

让我们考虑下面的例子 –

-1
1
1
-1
0

例子

在这个例子中,我们将使用一个if条件和Compare()函数来检查两个字符串是否相同。

package main
import (
   "fmt"
   "strings"
)
func main() {
   // Intializing the variables
   A := "Golang on Tutorialspoint"
   B := "Golang on Tutorialspoint"
   
   // using the Compare function
   if strings.Compare(A, B) == 0 {
      fmt.Println("Both the strings match.")
   } else {
      fmt.Println("The strings do not match.")
   }
}

输出

由于两个字符串都是相等的,程序将产生如下输出

Both the strings match.