Go语言程序比较两个字符串
在Go编程语言中,字符串是一种可用于各种应用程序的数据类型。它是由字符组成的集合,并且是不可变的。在Go编程语言中,字符串一旦创建就不能修改。在本文中,我们将学习比较两个给定字符串的不同技术。
语法
bytes.Equal(s1,s2)
使用Equal()方法比较两个字节切片([]byte)是否相等。如果两个字节切片相等,则会产生一个反映该事实的布尔结果(true或false)。
strings.Compare(s1,s2)
Compare()函数用于按字典顺序比较两个字符串。它返回一个整数,表示比较结果:
如果两个字符串相同,则值为0。
如果第一个字符串按字典顺序小于第二个字符串,则值为小于0。
如果第一个字符串按字典顺序大于第二个字符串,则值为大于0。
算法
步骤1 - 创建一个名为main的包并声明fmt(格式化包)
步骤2 - 在main函数中,创建两个变量
步骤3 - 将您想要比较的两个字符串赋值给它们。
步骤4 - 使用内部函数或用户定义函数比较两个字符串
步骤5 - 打印输出。
示例1
在这个例子中,我们将看到如何在Golang中使用if-else语句比较两个字符串。
package main import ( "fmt" ) func main() { mystr1 := "create" //create str1 fmt.Println("The string1 created here is:", mystr1) mystr2 := "craete" //create str2 fmt.Println("The string2 created here is:", mystr2) fmt.Println("Are the strings equal?") if mystr1 == mystr2 { fmt.Println("The strings are equal.") //print strings are equal } else { fmt.Println("The strings are not equal.") //print strings are not equal } }
输出
The string1 created here is: create The string2 created here is: craete Are the strings equal? The strings are not equal.
示例2
在这个例子中,我们将使用bytes.Equal()函数来比较两个字符串
package main import ( "bytes" "fmt" ) func main() { mystr1 := "create" //create string1 fmt.Println("The string1 created here is:", mystr1) mystr2 := "craete" //create string2 fmt.Println("The string2 created here is:", mystr2) fmt.Println("Are the strings equal?") if bytes.Equal([]byte(mystr1), []byte(mystr2)) { //use bytes.Equal() function to compare slices fmt.Println("The strings are equal.") //print strings are not equal } else { fmt.Println("The strings are not equal.") //print strings are equal } }
输出
The string1 created here is: create The string2 created here is: craete Are the strings equal? The strings are not equal.
示例3
在这个例子中,我们将使用strings.compare()函数来比较两个切片。
package main import ( "fmt" "strings" ) func main() { mystr1 := "create" //create string1 fmt.Println("The string1 created here is:", mystr1) mystr2 := "craete" //create string2 fmt.Println("The string2 created here is:", mystr2) fmt.Println("Are the strings equal?") if strings.Compare(mystr1, mystr2) == 0 { //use strings.compare function fmt.Println("The strings are equal.") //print slices are equal } else { fmt.Println("The strings are not equal") //print slices are not equal } }
输出
The string1 created here is: create The string2 created here is: craete Are the strings equal? The strings are not equal
结论
我们使用三种方法执行了比较两个字符串的程序。在第一种方法中,我们使用了简单的比较运算符;在第二个例子中,我们使用了bytes.Equal()函数;在第三个例子中,我们使用了strings.Compare()函数。
广告