How to compare strings in Go language: 1. Use the "==" operator, the syntax "String 1 == String 2"; 2. Use the ToLower() function of the strings package; 3. Use The Compare() function of the strings package can compare two strings in dictionary order, with the syntax "strings.Compare(str1,str2)"; 4. Use the EqualFold() function of the strings package to compare strings ignoring case. The return value is of bool type.
The operating environment of this tutorial: Windows 7 system, GO version 1.18, Dell G3 computer.
Method 1: Use the "==" operator (case sensitive)
package main import "fmt" func main() { fmt.Println("go"=="go") fmt.Println("GO"=="go") }
Output:
true false
Method 2: Use strings.ToLower (case-insensitive)
package main import ( "fmt" "strings" ) func main() { srcString := "This a string" destString := "this a string" if strings.ToLower(srcString) == strings.ToLower(destString) { fmt.Println("相等") } else { fmt.Println("不相等") } }
Output:
相等
Method 3: Use strings.Compare (case-sensitive)
Compare() function is a built-in function in the Golang programming language, used to compare two strings. It is used to compare two strings lexicographically (ordering the words alphabetically, similar to how we search for words in a dictionary), or to find if strings are equal. It returns an integer value as follows:
func Compare(s1, s2 string) int
If the strings are equal (s1 == s2), it returns 0
if If string 1 is greater than string 2 (s1> s2), 1 is returned.
If string 1 is less than string 2, return -1 (s1
Example:
package main import ( "fmt" "strings" ) func main() { fmt.Println(strings.Compare("GO","go")) fmt.Println(strings.Compare("go","go")) }
Output:
-1 0
Compare function, case-sensitive, faster than the self-built method "==", the following is the comment
/ Compare is included only for symmetry with package bytes.
// It is usually clearer and always faster to use the built-in
// string comparison operators ==, <, >, and so on.
func Compare(a , b string) int
Method 4: Use strings.EqualFold (case-insensitive)
strings.EqualFold is case-insensitive Compare, return bool
package main import ( "fmt" "strings" ) func main() { fmt.Println(strings.EqualFold("GO","go")) fmt.Println(strings.EqualFold("go","go")) }
Output:
true true
Recommended learning: Golang tutorial
The above is the detailed content of How to implement string comparison using go language. For more information, please follow other related articles on the PHP Chinese website!