Sobes.tech
Junior

Go tilida qanday asosiy ma'lumotlar tuzilmalari mavjud?

sobes.tech AI

AIdan javob

Go dasturlash tilida quyidagi asosiy (primitive) va tarkibiy (composite) ma'lumotlar tuzilmalari mavjud:

Primitive:

  • Mantiqiy qiymatlar (bool)
  • Raqamli turlar:
    • Butun sonlar (int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr)
    • Oqimli sonlar (float32, float64)
    • Kompleks sonlar (complex64, complex128)
    • Byte (byte - uint8 ning sinonimi)
    • Rune (rune - int32 ning sinonimi, Unicode belgisini ifodalaydi)
  • Stringlar (string)

Tarkibiy:

  • Massivlar (array)
    • Aniq o'lchamli.
    var arr [5]int // 5 ta butun sonlardan iborat massiv
    
  • Slicerlar (slice)
    • Dinamik o'lchamli, massivlar asosida.
    var s []int // initsializatsiya qilinmagan slicer
    s = make([]int, 5, 10) // uzunligi 5, sig'imi 10 bo'lgan slicer
    
  • Xaritalar (map)
    • Kalit-qiymat juftliklaridan iborat tartibsiz to'plam.
    m := make(map[string]int) // kalitlari string, qiymatlari int bo'lgan xarita
    
  • Structlar (struct)
    • Tiplashgan maydonlar to'plami.
    type Person struct {
        Name string
        Age  int
    }
    
  • Ko'rsatkichlar (pointer)
    • Xotira hujayrasining manzilini saqlaydi.
    var x int = 10
    var p *int = &x // p x ga ishora qiladi
    
  • Funktsiyalar (func)
    • Go tilida funktsiyalar birinchi darajali turlar.
    type MyFunc func(int) string // funktsiya turi
    
  • Kanal (channel)
    • Goroutine'lar o'rtasida sinxronizatsiya va ma'lumot almashish uchun ishlatiladi.
    ch := make(chan int) // int uchun buffersiz kanal
    
  • Interfeyslar (interface)
    • Bir turdagi metodlar to'plamini ifodalaydi, uni amalga oshirishi kerak.
    type Reader interface {
        Read(p []byte) (n int, err error)
    }
    

Shuningdek, muhim boshqa tarkibiy turlar ham mavjud, masalan:

  • Baytlar bo'yicha slicelar ([]byte)
  • Rune bo'yicha slicelar ([]rune)

Ushbu ma'lumotlar tuzilmalari Go'da keng qamrovli vazifalar uchun moslashuvchanlik va samaradorlikni ta'minlaydi.