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,uintjms): 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
}