Golang 如何使用Unicode大小写折叠检查字符串相等
在Go语言中,字符串与其他语言(如Java、C++、Python等)不同。它是一个可变宽度字符序列,每个字符都使用UTF-8编码由一个或多个字节表示。
在Go的字符串中,即使它们写在不同的大小写(小写和大写)中,您也可以使用EqualFold()函数将两个字符串相互比较而不会出现任何错误。换句话说,此函数用于检查指定的字符串是否被解释为UTF-8字符串并在Unicode大小写折叠下相等。如果给定字符串在Unicode大小写折叠下相等,则此函数返回true,否则返回false。它在strings包下定义,因此,您需要在程序中导入strings包以访问EqualFold函数。
语法:
func EqualFold(str1,str2 string) bool
此函数的返回类型为bool类型。让我们通过以下示例说明此概念:
示例1:
//Go程序演示如何检查给定字符串是否相等
package main
import (
"fmt"
"strings"
)
//主函数
func main() {
//创建字符串
//使用var关键词
var username string
var uinput string
//初始化字符串
username = "AnkitaSaini"
uinput = "ankitasaINI"
//使用EqualFold()函数检查给定的字符串是否相等
res := strings.EqualFold(username,uinput)
//根据给定的条件显示结果
if res == true {
fmt.Println("!..Successfully Matched..!")
} else {
fmt.Println("!..Not Matched..!")
}
}
输出:
!..Successfully Matched..!
示例2:
//Go程序演示如何检查给定的字符串是否相等
package main
import (
"fmt"
"strings"
)
//主函数
func main() {
//创建并初始化字符串
//使用简短的声明
s1 := "I am working as a Technical content writer,在GeeksforGeeks!"
s2 := "I am currently writing articles on Go language!"
//使用EqualFold()函数检查给定的字符串是否相等
res1 := strings.EqualFold(s1,"I AM WORKING AS A TECHNICAL CONTENT WRITER,IN GEEKSFORGEEKS!")
res2 := strings.EqualFold(s1,"I AM working AS A Technical CONTENT writer,IN GeeksforGeeks!")
res3 := strings.EqualFold(s1,"Apple")
res4 := strings.EqualFold(s2,"I am currently writing articles on Go language!")
res5 := strings.EqualFold(s2,"I am currently writing ARTICLES on Go language!")
res6 := strings.EqualFold("GeeksforGeeks","geeksForgeeks")
//显示结果
fmt.Println("Result 1: ",res1)
fmt.Println("Result 2: ",res2)
fmt.Println("Result 3: ",res3)
fmt.Println("Result 4: ",res4)
fmt.Println("Result 5: ",res5)
fmt.Println("Result 6: ",res6)
}
输出:
Result 1: true
Result 2: true
Result 3: false
Result 4: true
Result 5: true
Result 6: true