Junior — Middle
Go da o'rnatilgan ma'lumot turlari qanday bo'lib, ular taqqoslash operatsiyalarini amalga oshirish imkonini beradi?
sobes.tech AI
AIdan javob
Go tilida taqqoslash operatsiyalari quyidagi ichki ma'lumot turlari uchun qo'llab-quvvatlanadi:
- Boolean qiymatlar (
bool): tenglik va teng emaslik uchun taqqoslanadi. - Raqamli turlar (
int,float32,float64,uintva boshqalar): barcha standart taqqoslash operatsiyalarini (==,!=,<,>,<=,>=) qo'llab-quvvatlaydi. - Qatorlar (
string):==,!=,<,>,<=,>=operatorlari yordamida leksikografik tarzda taqqoslanadi. - Ko'rsatkichlar: ular bir xil ob'ekt yoki
nilga ishora qiladimi, shunga qarab taqqoslanadi. - Interfeyslar: agar dinamik turlar va qiymatlar taqqoslanadigan bo'lsa, tenglik va teng emaslik uchun taqqoslanadi.
- Massivlar: elementlar taqqoslanadigan bo'lsa, elementma-element taqqoslanadi.
To'g'ridan-to'g'ri taqqoslanmaydigan turlar, masalan, bo'laklar (slice), xaritalar (map), funksiyalar (func) uchun taqqoslash operatsiyalari qo'llab-quvvatlanmaydi, faqat nil bilan tekshirish uchun.
Qatorlar va raqamlar taqqoslash misoli:
package main
import "fmt"
func main() {
a := 10
b := 20
fmt.Println(a < b) // true
s1 := "olma"
s2 := "banan"
fmt.Println(s1 == s2) // false
}