
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
Compare Two Strings in Go
In go programming language, string is one of the data-types that can be used for various application. It is a collection of characters and is also immutable. In go programming language a string can't be modified after they have been created. In this article, we are going to study different techniques to compare two given strings.
Syntax
bytes.Equal(s1,s2)
Two slices of bytes ([]byte) are compared using the Equal() method to see if they are equal. If the two slices of bytes are equal, it produces a boolean result (true or false) reflecting that fact.
strings.Compare(s1,s2)
The Compare() function is used to lexicographically compare two strings. It gives back an integer value that represents the outcome of the comparison ?
if the two strings are equivalent, a value of 0.
If the first string is lexicographically inferior to the second string, the value will be less than 0.
If the first string is lexicographically superior to the second string, the value will be greater than 0.
Algorithm
Step 1 ? Create a package main and declare fmt(format package) package
Step 2 ? In the main function, create two variables
Step 3 ? Assign the two strings you want to compare to them.
Step 4 ? Compare both the strings using internal function or user-defined function
Step 5 ? Print the output.
Example 1
In this example we will see how we can compare two strings using if-else statement in Golang.
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 } }
Output
The string1 created here is: create The string2 created here is: craete Are the strings equal? The strings are not equal.
Example 2
In this example we will use bytes.Equal() function to compare the two strings
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 } }
Output
The string1 created here is: create The string2 created here is: craete Are the strings equal? The strings are not equal.
Example 3
In this example we will use strings.compare() function to compare two slices.
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 } }
Output
The string1 created here is: create The string2 created here is: craete Are the strings equal? The strings are not equal
Conclusion
We executed the program of comparing two strings using three methods. In the first method we used simple comparison operator, in the second example we used bytes.Equal() function and in the third example we used strings.Compare() function.