Sobes.tech
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, uint stb.): 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
}