Junior — Middle
Welke ingebouwde gegevenstypen in Go maken vergelijkingsoperaties mogelijk?
sobes.tech AI
Antwoord van AI
In Go worden vergelijking operaties ondersteund voor de volgende ingebouwde datatypes:
- Booleaanse waarden (
bool): kunnen worden vergeleken op gelijkheid en ongelijkheid. - Numerieke types (
int,float32,float64,uint, enz.): ondersteunen alle standaardvergelijkingsoperaties (==,!=,<,>,<=,>=). - Strings (
string): worden lexicografisch vergeleken met behulp van de operators==,!=,<,>,<=,>=. - Pointers: worden vergeleken op gelijkheid en ongelijkheid (of ze naar hetzelfde object of
nilwijzen). - Interfaces: worden vergeleken op gelijkheid en ongelijkheid als de dynamische types en waarden vergelijkbaar zijn.
- Arrays: worden element-voor-element vergeleken als de elementen vergelijkbaar zijn.
Types die niet direct vergeleken kunnen worden, zoals slices (slice), kaarten (map), functies (func), ondersteunen geen vergelijking operaties, behalve de controle op nil.
Voorbeeld van vergelijking van strings en nummers:
package main
import "fmt"
func main() {
a := 10
b := 20
fmt.Println(a < b) // true
s1 := "appel"
s2 := "banaan"
fmt.Println(s1 == s2) // false
}