English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Golang Grund教程

Golang Steuerrichtungen

Golang Funktion & Methode

Golang Struktur

Golang Slice & Array

Golang Zeichenkette (String)

Golang Zeiger

Golang Schnittstelle

Golang Konkurrenz

Golang Fehler (Error)

Golang andere Artikel

Go-Vergleich von Schnitten

In der Go-Sprache sind Schnipsel mächtiger, flexibler, bequemer und leichter als Arrays. Ein Schnipsel ist eine veränderbare Länge Sequenz, die zur Speicherung von Elementen desselben Typs verwendet wird und es nicht erlaubt, verschiedene Typen in einem Schnipsel zu speichern. In Go-Schnipseln kann manCompare()Die Funktion vergleicht die beiden Byte-Schnipsel miteinanderVergleich。Diese Funktion gibt einen Integerwert zurück, der angibt, ob diese Schnipsel gleich oder ungleich sind, und diese Werte sind:

  • Wenn das Ergebnis 0 ist, dann slice_1 == slice_2。

  • Wenn das Ergebnis-1,dann slice_1 <slice_2。

  • Wenn das Ergebnis+1,dann slice_1> slice_2。

Diese Funktion ist im bytes-Paket definiert, daher müssen Sie das bytes-Paket in Ihrem Programm importieren, um auf die Compare-Funktion zugreifen zu können。

Syntax:

func Compare(slice_1, slice_2 []byte) int

Lassen Sie uns mit einem Beispiel diesen Begriff diskutieren:

//Vergleiche zwei Bytes-Schnipsel
package main
import (
    "bytes"
    "fmt"
)
func main() {
    //Erstelle und initialisiere die Bytes-Schnipsel mit verkürzter Deklaration
    slice_1 := []byte{'G', 'E', 'E', 'K', 'S'}
    slice_2 := []byte{'G', 'E', 'e', 'K', 'S'}
    //Vergleiche die Schnipsel
    //Verwende die Compare-Funktion
    res := bytes.Compare(slice_1, slice_2)
    if res == 0 {
        fmt.Println("!..Die Schnipsel sind gleich..!")
    } else {
        fmt.Println("!..Die Schnipsel sind ungleich..!")
    }
}

Ausgabe:

!..Die Schnipsel sind ungleich..!

Vergleiche von zwei Bytes-Schnipseln:

package main
import (
    "bytes"
    "fmt"
)
func main() {
    slice_1 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'}
    slice_2 := []byte{'a', 'g', 't', 'e', 'q', 'm'}
    slice_3 := []byte{'A', 'N', 'M', 'O', 'P', 'Q'}
    slice_4 := []byte{'A', 'n', 'M', 'o', 'p', 'Q'}
    //zeige die Schnipsel an
    fmt.Println("Schnipsel", 1: ", slice_1)
    fmt.Println("Schnipsel", 2: ", slice_2)
    fmt.Println("Schnipsel", 3: ", slice_3)
    fmt.Println("Schnipsel", 4: ", slice_4)
    //Vergleiche die Schnipsel, verwende Compare
    res1 := bytes.Compare(slice_1, slice_2)
    res2 := bytes.Compare(slice_1, slice_3)
    res3 := bytes.Compare(slice_1, slice_4)
    res4 := bytes.Compare(slice_2, slice_3)
    res5 := bytes.Compare(slice_2, slice_4)
    res6 := bytes.Compare(slice_2, slice_1)
    res7 := bytes.Compare(slice_3, slice_1)
    res8 := bytes.Compare(slice_3, slice_2)
    res9 := bytes.Compare(slice_3, slice_4)
    res10 := bytes.Compare(slice_4, slice_1)
    res11 := bytes.Compare(slice_4, slice_2)
    res12 := bytes.Compare(slice_4, slice_3)
    res13 := bytes.Compare(slice_4, slice_4)
    fmt.Println("\nErgebnis", 1:", res1)
    fmt.Println("Ergebnis", 2:", res2)
    fmt.Println("Ergebnis", 3:", res3)
    fmt.Println("Ergebnis", 4:", res4)
    fmt.Println("Ergebnis", 5:", res5)
    fmt.Println("Ergebnis", 6:", res6)
    fmt.Println("Ergebnis", 7:", res7)
    fmt.Println("Ergebnis", 8:", res8)
    fmt.Println("Ergebnis", 9:", res9)
    fmt.Println("Ergebnis", 10:", res10)
    fmt.Println("Ergebnis", 11:", res11)
    fmt.Println("Ergebnis", 12:", res12)
    fmt.Println("Ergebnis", 13:", res13)
}

Ausgabe:

Schnipsel 1:  [65 78 77 79 80 81]
Schnipsel 2:  [97 103 116 101 113 109]
Schnipsel 3:  [65 78 77 79 80 81]
Schnipsel 4:  [65 110 77 111 112 81]
Ergebnis 1: -1
Ergebnis 2: 0
Ergebnis 3: -1
Ergebnis 4: 1
Ergebnis 5: 1
Ergebnis 6: 1
Ergebnis 7: 0
Ergebnis 8: -1
Ergebnis 9: -1
Ergebnis 10: 1
Ergebnis 11: -1
Ergebnis 12: 1
Ergebnis 13: 0