📜  字符串.Compare() Golang 中的函数示例

📅  最后修改于: 2021-10-24 14:13:52             🧑  作者: Mango

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

句法:

func Compare(s1, s2 string) int
  • 如果字符串相等,则返回 0 (s1==s2)
  • 如果字符串1 大于字符串2(s1 > s2),则返回 1
  • 返回 -1 是字符串1 小于字符串2 (s1 < s2)

示例 1:

// Golang program to illustrate the use of
// the strings.Compare() Function
package main
  
import (
    "fmt"
    "strings"
)
  
func main() {
  
    var s1 = "Geeks"
    var s2 = "GeeksforGeeks"
    var s3 = "Geeks"
  
    // using the function
    fmt.Println(strings.Compare(s1, s2))
    fmt.Println(strings.Compare(s2, s3))
    fmt.Println(strings.Compare(s3, s1))
  
}

输出:

-1
1
0

解释:第一个输出为 -1,因为第一个字符串是“Geeks”,它在字典上小于第二个字符串“GeeksforGeeks”。第二个输出是 1,因为第一个字符串是“GeeksforGeeks”,它在字典上大于第二个字符串“Geeks”。第三个输出为 0,因为第一个字符串是“Geeks”,它等于第二个字符串“Geeks”。

示例 2:

// Golang program to illustrate the use of
// the strings.Compare() Function
package main
  
import (
    "fmt"
    "strings"
)
  
func main() {
  
    var s1 = "apple"
    var s2 = "Apple"
    var s3 = "Apricot"
      
    // using the function
    fmt.Println(strings.Compare(s1, s2))
    fmt.Println(strings.Compare(s2, s3))
    fmt.Println(strings.Compare(s3, s1))
  
}

输出:

1
-1
-1

说明:第一输出自带1作为第一字符串是“苹果”,这是按字典顺序比第二字符串“苹果”作为字符被顺序地比较从使用Unicode字符集和的“a”为ASCII值从左到右更大97 和’A’ 是65。因此苹果大于苹果。
第二个输出为 -1,因为第一个字符串是“Apple”,它在字典上小于第二个字符串“Apricot”。第三个输出为 -1,因为第一个字符串是“Apricot”,它在字典上小于第二个字符串“apple”,因为 ‘A’ 小于 ‘a’。