Sobes.tech
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, uint va boshqalar): barcha standart taqqoslash operatsiyalarini (==, !=, <, >, <=, >=) qo'llab-quvvatlaydi.
  • Qatorlar (string): ==, !=, <, >, <=, >= operatorlari yordamida leksikografik tarzda taqqoslanadi.
  • Ko'rsatkichlar: ular bir xil ob'ekt yoki nil ga 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
}