Golang strings.Compare()函数及例子
Compare()函数 是Golang编程语言中的一个内置函数,用于比较两个字符串。它用于按字典序(以按字母顺序排列单词的方式,类似于我们在字典中查找单词的方式)比较两个字符串,或者确定字符串是否相等。它返回一个整数值,如下所示:
语法:
func Compare(s1, s2 string) int
- 如果字符串相等(s1==s2),则返回0
- 如果字符串1大于字符串2(s1 > s2),则返回1
- 如果字符串1小于字符串2(s1 < s2),则返回-1
例子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,因为第一个字符串是“apple”,在Unicode字符集和ASCII值的帮助下,从左到右顺序比较字符,但ASCII值“a”的值为97,而“A”的值为65,因此“apple”比“Apple”大。 第二个输出为-1,因为第一个字符串是“Apple”,在字典序中比第二个字符串“Apricot”小。第三个输出为-1,因为第一个字符串是“Apricot”,在字典序中比第二个字符串“apple”小,因为“A”小于“a”。