Sobes.tech
Junior — Middle

Kādi ir iebūvēti datu tipi Go, kas ļauj veikt salīdzināšanas operācijas?

sobes.tech AI

Atbilde no AI

Go valodā salīdzināšanas operācijas ir atbalstītas šādiem iebūvētiem datu tipiem:

  • Loģiskās vērtības (bool): tās var salīdzināt ar vienādību un nevienādību.
  • Skaitliskie tipi (int, float32, float64, uint utt.): atbalsta visas standarta salīdzināšanas operācijas (==, !=, <, >, <=, >=).
  • Rindiņas (string): tiek salīdzinātas leksikogrāfiski, izmantojot operatorus ==, !=, <, >, <=, >=.
  • Norādītāji: tiek salīdzināti pēc vienādības un nevienādības (vai tie norāda uz to pašu objektu vai nil).
  • Interfeisi: tiek salīdzināti pēc vienādības un nevienādības, ja dinamiskie tipi un vērtības ir salīdzināmas.
  • Masīvi: tiek salīdzināti elementu pēc elementa, ja elementi ir salīdzināmi.

Tipi, kurus nav iespējams tieši salīdzināt, piemēram, šķēlēs (slice), kartēs (map), funkcijās (func), neatbalsta salīdzināšanas operācijas, izņemot pārbaudi uz nil.

Piemērs salīdzināšanai starp rindiņām un skaitļiem:

package main
import "fmt"

func main() {
    a := 10
    b := 20
    fmt.Println(a < b) // true

    s1 := "ābols"
    s2 := "bana"
    fmt.Println(s1 == s2) // false
}