Cadenas de comparación de GoLang

Sheeraz Gul 20 junio 2023
  1. Utilice el método Comparar() para comparar cadenas en GoLang
  2. Use operadores de comparación para comparar cadenas en GoLang
Cadenas de comparación de GoLang

Este tutorial demuestra cómo comparar cadenas en GoLang.

GoLang tiene dos métodos para comparar cadenas: el método integrado Comparar() y el otro es una comparación de los operadores de comparación de GoLang. Este tutorial demuestra estos dos métodos para comparar cadenas en GoLang.

Utilice el método Comparar() para comparar cadenas en GoLang

El método incorporado Comparar() en GoLang se usa para comparar dos cadenas. Este método utiliza el orden lexicográfico para comparar dos cadenas; la sintaxis para este método es:

func Compare(a, b string) int

Donde a y b son las dos cadenas a comparar, devuelve un valor entero. Hay tres tipos de retorno basados en la comparación de cadenas.

  1. Si a == b entonces el método compare() devolverá 0.
  2. Si a > b, entonces el método compare() devolverá 1.
  3. Si a < b, entonces el método comparar() devolverá -1.

Probemos un ejemplo para comparar cadenas usando el método Compare().

package main

import (
    "fmt"
    "strings"
)

func main() {

    var string1 = "x"
    var string2 = "y"
    var string3 = "Delftstack"
    var string4 = "Delftscope"

    // string1 < string2 should return -1
    fmt.Println(strings.Compare(string1, string2))

    // string2 > string1 should return 1
    fmt.Println(strings.Compare(string2, string1))

    // string1 == string1 should return 0
    fmt.Println(strings.Compare(string1, string1))

    // string3 > string4 should return 1
    fmt.Println(strings.Compare(string3, string4))

    // string4 < string3 should return -1
    fmt.Println(strings.Compare(string4, string3))


    // Let's create a condition
    string5 := "Hello this is delftstack.com!"
    string6 := "Hello this is DELFTSTACK.COM!"

    // using the Compare function
    if strings.Compare(string5, string6) == 0 {
        fmt.Println("The strings are a match.")
    } else {
        fmt.Println("The strings do not match.")
    }
}

El código anterior intenta comparar cadenas utilizando el método Comparar() y devuelve los enteros descritos anteriormente. El código también crea una condición basada en el entero devuelto.

Ver la salida:

-1
1
0
1
-1
The strings do not match.

Use operadores de comparación para comparar cadenas en GoLang

GoLang también admite los operadores de comparación como en otros idiomas; estos operadores de comparación incluyen ==, !=, >=, <=, <, >. Los == y != se utilizan para comprobar la igualdad de las cadenas, y los otros cuatro se utilizan para comparar las cadenas en orden lexicográfico.

Estos operadores de comparación devuelven operadores booleanos, es decir, true y false. Probemos primero un ejemplo usando los operadores == y !=.

package main

import "fmt"

func main() {

    string1 := "Delftsatck"
    string2 := "Delft"
    string3 := "Delftsatck.com"
    string4 := "Delftsatck"

    // using == operator
    ComparisonResult1 := string1 == string2
    ComparisonResult2 := string2 == string3
    ComparisonResult3 := string3 == string4
    ComparisonResult4 := string1 == string4

    fmt.Println("Result 1 is: ", ComparisonResult1)
    fmt.Println("Result 2 is: ", ComparisonResult2)
    fmt.Println("Result 3 is: ", ComparisonResult3)
    fmt.Println("Result 4 is: ", ComparisonResult4)

    // using != operator
    ComparisonResult5 := string1 != string2
    ComparisonResult6 := string2 != string3
    ComparisonResult7 := string3 != string4
    ComparisonResult8 := string1 != string4

    fmt.Println("\nResult 5 is: ", ComparisonResult5)
    fmt.Println("Result 6 is: ", ComparisonResult6)
    fmt.Println("Result 7 is: ", ComparisonResult7)
    fmt.Println("Result 8 is: ", ComparisonResult8)

}

El código anterior comparará las cadenas dadas en función de la igualdad y la desigualdad. Ver la salida:

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

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

Ahora probemos un ejemplo usando los operadores >=, <=, <, > para comparar cadenas por su orden lexicográfico. Ver ejemplo:

package main

import "fmt"

func main() {

    string1 := "Delftsatck"
    string2 := "Delft"
    string3 := "Delftsatck.com"
    string4 := "Delftsatck"

    // using < operator
    ComparisonResult1 := string1 < string2
    ComparisonResult2 := string2 < string3
    ComparisonResult3 := string3 < string4
    ComparisonResult4 := string1 < string4

    fmt.Println("Result 1 is: ", ComparisonResult1)
    fmt.Println("Result 2 is: ", ComparisonResult2)
    fmt.Println("Result 3 is: ", ComparisonResult3)
    fmt.Println("Result 4 is: ", ComparisonResult4)

    // using > operator
    ComparisonResult5 := string1 > string2
    ComparisonResult6 := string2 > string3
    ComparisonResult7 := string3 > string4
    ComparisonResult8 := string1 > string4

    fmt.Println("\nResult 5 is: ", ComparisonResult5)
    fmt.Println("Result 6 is: ", ComparisonResult6)
    fmt.Println("Result 7 is: ", ComparisonResult7)
    fmt.Println("Result 8 is: ", ComparisonResult8)

    // using >= operator
    ComparisonResult9 := string1 >= string2
    ComparisonResult10 := string2 >= string3
    ComparisonResult11 := string3 >= string4
    ComparisonResult12 := string1 >= string4

    fmt.Println("\nResult 9 is: ", ComparisonResult9)
    fmt.Println("Result 10 is: ", ComparisonResult10)
    fmt.Println("Result 11 is: ", ComparisonResult11)
    fmt.Println("Result 12 is: ", ComparisonResult12)

    // using <= operator
    ComparisonResult13 := string1 <= string2
    ComparisonResult14 := string2 <= string3
    ComparisonResult15 := string3 <= string4
    ComparisonResult16 := string1 <= string4

    fmt.Println("\nResult 13 is: ", ComparisonResult13)
    fmt.Println("Result 14 is: ", ComparisonResult14)
    fmt.Println("Result 15 is: ", ComparisonResult15)
    fmt.Println("Result 16 is: ", ComparisonResult16)

}

Las cadenas anteriores ahora se compararán según el orden lexicográfico. Ver la salida:

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

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

Result 9 is:  true
Result 10 is:  false
Result 11 is:  true
Result 12 is:  true

Result 13 is:  false
Result 14 is:  true
Result 15 is:  false
Result 16 is:  true
Sheeraz Gul avatar Sheeraz Gul avatar

Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.

LinkedIn Facebook

Artículo relacionado - Go String