Junior — Middle
Milyen beépített adattípusok vannak a Go-ban, amelyek lehetővé teszik összehasonlító műveletek végrehajtását?
sobes.tech MI
Válasz az MI-től
A Go nyelvben a összehasonlító műveletek a következő beépített típusokra támogatottak:
- Logikai értékek (
bool): egyenlőség és különbözőség szerint összehasonlíthatók. - Szám típusok (
int,float32,float64,uintstb.): támogatják az összes szabványos összehasonlító műveletet (==,!=,<,>,<=,>=). - Szövegek (
string): lexikografikus módon összehasonlítva az==,!=,<,>,<=,>=operátorokkal. - Mutatók: összehasonlíthatók egyenlőség és különbözőség szerint (hogy ugyanarra az objektumra mutatnak-e vagy
nil). - Interfészek: összehasonlíthatók egyenlőség és különbözőség szerint, ha a dinamikus típusok és értékek összehasonlíthatók.
- Tömbök: elemenként összehasonlíthatók, ha az elemek összehasonlíthatók.
Azok a típusok, amelyeket nem lehet közvetlenül összehasonlítani, például szeletek (slice), térképek (map), függvények (func) nem támogatják az összehasonlító műveleteket, kivéve a nil ellenőrzést.
Példa szövegek és számok összehasonlítására:
package main
import "fmt"
func main() {
a := 10
b := 20
fmt.Println(a < b) // true
s1 := "alma"
s2 := "banán"
fmt.Println(s1 == s2) // false
}