Sobes.tech
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 nil wijzen).
  • 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
}