Unterschied zwischen == und === in Go
Hallo zusammen! Ich lerne Go nach JavaScript und bin auf ein Verständnisproblem mit Vergleichsoperatoren gestoßen. In JS gibt es strikten (===) und nicht-strikten (==) Vergleich, aber in Go sehe ich nur ==. Verstehe ich richtig, dass es in Go keinen ===-Operator gibt? Und wenn nicht, wie funktioniert der Vergleich für verschiedene Typen?
Ich habe versucht, diesen Code zu schreiben:
package main\n\nimport "fmt"\n\nfunc main() {\n var a int = 5\n var b float64 = 5.0\n fmt.Println(a == b) // Compiler-Fehler: mismatched types int and float64\n}Ich habe erwartet, dass Go entweder die Typen konvertiert (wie der nicht-strikte Vergleich in JS) oder einen Fehler ausgibt. Ich habe einen Compiler-Fehler erhalten. Das heißt, in Go kann man int und float64 überhaupt nicht direkt vergleichen? Muss man immer explizit konvertieren?