Golang 如何使用Unicode大小写折叠检查字符串相等

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程