Sobes.tech
Junior — Middle

Millised on Go-s sisseehitatud andmetüübid, mis võimaldavad võrdlusoperatsioone?

sobes.tech AI

Vastus AI-lt

Go keeles toetatakse võrdlusoperatsioone järgmiste sisseehitatud andmetüüpide jaoks:

  • Boolsed väärtused (bool): saab võrrelda võrduse ja mittevõrduse jaoks.
  • Numbrilised tüübid (int, float32, float64, uint jms): toetavad kõiki standardseid võrdlusoperatsioone (==, !=, <, >, <=, >=).
  • Stringid (string): võrreldakse leksikograafiliselt kasutades operaatoreid ==, !=, <, >, <=, >=.
  • Viitid: võrreldakse võrduse ja mittevõrduse järgi (kas nad osutavad sama objekti või nil).
  • Interfeysid: võrreldakse võrduse ja mittevõrduse järgi, kui dünaamilised tüübid ja väärtused on võrreldavad.
  • Massivid (array): võrreldakse elementide kaupa, kui elemendid on võrreldavad.

Tüübid, mida ei saa otse võrrelda, näiteks viilud (slice), kaardid (map), funktsioonid (func), ei toeta võrdlusoperatsioone, välja arvatud nil kontroll.

Näide stringide ja numbrite võrdlusest:

package main
import "fmt"

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

    s1 := "õun"
    s2 := "banaan"
    fmt.Println(s1 == s2) // false
}