Diferentes formas de comparar strings en Golang

En el lenguaje Go, la string es una string inmutable de bytes arbitrarios codificados con codificación UTF-8 . Puede comparar strings entre sí de dos maneras diferentes:

1. Uso de operadores de comparación: las strings Go admiten operadores de comparación, es decir, ==, !=, >=, <=, <, > . Aquí, los operadores == y != se usan para verificar si las strings dadas son iguales o no, y los operadores >=, <=, <, > se usan para encontrar el orden léxico. Los resultados de estos operadores son de tipo booleano, lo que significa que si se cumple la condición devolverá verdadero , de lo contrario, devolverá falso .

Ejemplo 1: 

Go

// Go program to illustrate the concept
// of == and != operator with strings
package main
 
import "fmt"
 
// Main function
func main() {
 
    // Creating and initializing strings
    // using shorthand declaration
    str1 := "Geeks"
    str2 := "Geek"
    str3 := "GeeksforGeeks"
    str4 := "Geeks"
 
    // Checking the string are equal
    // or not using == operator
    result1 := str1 == str2
    result2 := str2 == str3
    result3 := str3 == str4
    result4 := str1 == str4
     
    fmt.Println("Result 1: ", result1)
    fmt.Println("Result 2: ", result2)
    fmt.Println("Result 3: ", result3)
    fmt.Println("Result 4: ", result4)
 
    // Checking the string are not equal
    // using != operator
    result5 := str1 != str2
    result6 := str2 != str3
    result7 := str3 != str4
    result8 := str1 != str4
     
    fmt.Println("\nResult 5: ", result5)
    fmt.Println("Result 6: ", result6)
    fmt.Println("Result 7: ", result7)
    fmt.Println("Result 8: ", result8)
 
}

Producción: 

Result 1:  false
Result 2:  false
Result 3:  false
Result 4:  true

Result 5:  true
Result 6:  true
Result 7:  true
Result 8:  false

Ejemplo 2: 

Go

// Go program to illustrate the concept
// of comparison operator with strings
package main
 
import "fmt"
 
// Main function
func main() {
 
    // Creating and initializing
    // slice of string using the
    // shorthand declaration
    myslice := []string{"Geeks", "Geeks",
                    "gfg", "GFG", "for"}
     
    fmt.Println("Slice: ", myslice)
 
    // Using comparison operator
    result1 := "GFG" > "Geeks"
    fmt.Println("Result 1: ", result1)
 
    result2 := "GFG" < "Geeks"
    fmt.Println("Result 2: ", result2)
 
    result3 := "Geeks" >= "for"
    fmt.Println("Result 3: ", result3)
 
    result4 := "Geeks" <= "for"
    fmt.Println("Result 4: ", result4)
 
    result5 := "Geeks" == "Geeks"
    fmt.Println("Result 5: ", result5)
 
    result6 := "Geeks" != "for"
    fmt.Println("Result 6: ", result6)
 
}

Producción: 

Slice:  [Geeks Geeks gfg GFG for]
Result 1:  false
Result 2:  true
Result 3:  false
Result 4:  true
Result 5:  true
Result 6:  true

2. Usando el método Compare(): También puede comparar dos strings usando la función incorporada Compare() proporcionada por el paquete de strings. Esta función devuelve un valor entero después de comparar lexicográficamente dos strings. Los valores devueltos son: 

  • Devuelve 0, si str1 == str2 .
  • Devuelve 1, si str1 > str2 .
  • Devuelve -1, si str1 < str2 .

Sintaxis: 

func Compare(str1, str2 string) int

Ejemplo:

Go

// Go program to illustrate how to compare
// string using compare() function
package main
 
import (
    "fmt"
    "strings"
)
 
func main() {
 
    // Comparing string using Compare function
    fmt.Println(strings.Compare("gfg", "Geeks"))
     
    fmt.Println(strings.Compare("GeeksforGeeks",
                               "GeeksforGeeks"))
     
    fmt.Println(strings.Compare("Geeks", " GFG"))
     
    fmt.Println(strings.Compare("GeeKS", "GeeKs"))
 
}

Producción: 

1
0
1
-1

Publicación traducida automáticamente

Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *