Wie vergleicht man zwei Slices in Go korrekt auf Gleichheit?
Hallo zusammen! Ich habe gerade angefangen, Go zu lernen, und habe ein Problem beim Vergleichen von Slices. Ich versuche zu überprüfen, ob zwei Slices inhaltlich gleich sind, aber es funktioniert nicht.
Hier ist mein Code:
```go
package main
import "fmt"
func main() {
a := []int{1, 2, 3}
b := []int{1, 2, 3}
if a == b {
fmt.Println("Slices sind gleich!")
} else {
fmt.Println("Slices sind nicht gleich!")
}
}
```
Aber der Compiler gibt einen Fehler aus: `invalid operation: a == b (slice can only be compared to nil)`. Warum ist das so? In Python oder JavaScript konnte ich doch problemlos Listen/Arrays mit `==` vergleichen.
Ich verstehe, dass ein Slice ein Referenztyp ist, aber wie vergleicht man dann zwei Slices korrekt elementweise? Muss ich für jeden Slice-Typ (int, string, float usw.) eine eigene Funktion schreiben? Und
Noch keine Antworten.
Anmelden um eine Antwort zu hinterlassen
Blogs
Zero-Downtime-Deployment von Java-Diensten: So bringen Sie die Produktion nicht zum Absturz
WebSocket in Rust: Echtzeitanwendungen von A bis Z
So berechnen Sie die Differenz zwischen Daten in C#: Anzahl der Tage
Integrationstests von Kotlin mit Docker: Vollständiger Leitfaden