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’。