Junior — Middle
Кадом намудҳои додаҳои дарунсохти Go, ки имкон медиҳанд амалиётҳои муқоиса карданро иҷро кунанд?
sobes.tech AI
Ҷавоб аз AI
Го тилида, муқоиса амалиётлари қуйидаги ўрнатилган турлар учун қўллаб-қувватланади:
- Булинг қийматлар (
bool): уларни тенглик ва тенгсизлик учун муқоиса қилиш мумкин. - Рақамли турлар (
int,float32,float64,uintва бошқалар): барча стандарт муқоиса амалиётларини (==,!=,<,>,<=,>=) қўллаб-қувватлайди. - Қаторлар (
string):==,!=,<,>,<=,>=операторлари ёрдамида лексикографик тарзда муқоиса қилинади. - Индикаторлар: улар бир хил объектга ёки
nilга ишора қилганми, шу бўйича муқоиса қилинади. - Интерфейслар: агар динамик турлар ва қийматлар муқоиса қилина оладиган бўлса, уларнинг тенглиги ва тенгсизлиги учун муқоиса қилинади.
- Массивлар: улар элементлар бўйича муқоиса қилинади, агар элементлар муқоиса қилина оладиган бўлса.
Тўғридан-тўғри муқоиса қилина олмайдиган турлар, масалан, слайслар (slice), хариталар (map), функциялар (func) учун муқоиса амаллари қўллаб-қувватланмайди, фақат nil учун текшириш учун.
Қаторлар ва рақамлар ўртасидаги муқоиса мисоли:
package main
import "fmt"
func main() {
a := 10
b := 20
fmt.Println(a < b) // true
s1 := "олма"
s2 := "банан"
fmt.Println(s1 == s2) // false
}