GoLang Strings vergleichen

Sheeraz Gul 20 Juni 2023
  1. Verwenden Sie die Compare()-Methode, um Strings in GoLang zu vergleichen
  2. Verwenden Sie Vergleichsoperatoren, um Zeichenfolgen in GoLang zu vergleichen
GoLang Strings vergleichen

Dieses Tutorial zeigt, wie man Strings in GoLang vergleicht.

GoLang hat zwei Methoden, um Strings zu vergleichen: die eingebaute Methode Compare() und die andere ist ein Vergleich durch GoLang-Vergleichsoperatoren. Dieses Tutorial zeigt diese beiden Methoden zum Vergleichen von Zeichenfolgen in GoLang.

Verwenden Sie die Compare()-Methode, um Strings in GoLang zu vergleichen

Die eingebaute Methode Compare() in GoLang wird verwendet, um zwei Strings zu vergleichen. Diese Methode verwendet die lexikografische Reihenfolge, um zwei Zeichenketten zu vergleichen; Die Syntax für diese Methode lautet:

func Compare(a, b string) int

Wo a und b die beiden zu vergleichenden Zeichenfolgen sind, wird ein ganzzahliger Wert zurückgegeben. Es gibt drei Rückgabetypen, die auf dem Vergleich von Zeichenfolgen basieren.

  1. Wenn a == b, dann gibt die compare()-Methode 0 zurück.
  2. Wenn a > b, dann gibt die compare()-Methode 1 zurück.
  3. Wenn a < b, dann gibt die compare()-Methode -1 zurück.

Versuchen wir ein Beispiel, um Strings mit der Methode Compare() zu vergleichen.

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.")
    }
}

Der obige Code versucht, Strings mit der Methode Compare() zu vergleichen und gibt die oben beschriebenen Ganzzahlen zurück. Der Code erstellt auch eine Bedingung basierend auf der zurückgegebenen Ganzzahl.

Siehe die Ausgabe:

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

Verwenden Sie Vergleichsoperatoren, um Zeichenfolgen in GoLang zu vergleichen

GoLang unterstützt auch die Vergleichsoperatoren wie in anderen Sprachen; Zu diesen Vergleichsoperatoren gehören ==, !=, >=, <=, <, >. Die == und != werden verwendet, um die Gleichheit von Zeichenfolgen zu überprüfen, und die anderen vier werden verwendet, um die Zeichenfolgen in lexikografischer Reihenfolge zu vergleichen.

Diese Vergleichsoperatoren liefern boolesche Operatoren, also true und false. Versuchen wir zunächst ein Beispiel mit den Operatoren == und !=.

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)

}

Der obige Code vergleicht die angegebenen Zeichenfolgen basierend auf Gleichheit und Ungleichheit. Siehe die Ausgabe:

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

Versuchen wir nun ein Beispiel mit den Operatoren >=, <=, <, >, um Strings nach ihrer lexikografischen Reihenfolge zu vergleichen. Siehe Beispiel:

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)

}

Die obigen Zeichenfolgen werden nun basierend auf der lexikografischen Reihenfolge verglichen. Siehe die Ausgabe:

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

Verwandter Artikel - Go String