Sobes.tech
Junior

Go'до негизги маалыматтык түзүмдөр кайсылар?

sobes.tech AI

AIден жооп

Go тилинде негизги ички (primitive) жана курама (composite) маалымат структуралары бар:

Ички:

  • Буль (bool)
  • Сандык түрлөр:
    • Теңдиктер (int, int8, int16, int32, int64, uint, uint8, uint16, uint32, uint64, uintptr)
    • Уламдуу сандар (float32, float64)
    • Комплекс сандар (complex64, complex128)
    • Байтк (byte - псевдоним uint8)
    • Руна (rune - псевдоним int32, Unicode белгисин көрсөтөт)
  • Жолдор (string)

Курама:

  • Массивдер (array)
    • Белгиленген өлчөмдө.
    var arr [5]int // 5 бүтүн сандан турган массив
    
  • Слайстер (slice)
    • Динамикалык өлчөм, массивтерге негизделген.
    var s []int // инициализацияланбаган слайс
    s = make([]int, 5, 10) // узундугу 5, сыйымдуулугу 10
    
  • Карта (map)
    • Тизмектелбеген ачкыч-маани жуптарынын топтому.
    m := make(map[string]int) // карта, ачкычтары `string`, маанилери `int`
    
  • Структура (struct)
    • Тигилген талаалардын топтому.
    type Person struct {
        Name string
        Age  int
    }
    
  • Пойнтер (pointer)
    • Жадынын дарегин сактайт.
    var x int = 10
    var p *int = &x // p xке көрсөтөт
    
  • Функциялар (func)
    • Го тилинде функциялар биринчи класстын түрлөрү:
    type MyFunc func(int) string // функциянын түрү
    
  • Каналдар (channel)
    • Горутинара синхрондоштуруу жана маалымат алмашуу үчүн колдонулат.
    ch := make(chan int) // бушка канал `int` үчүн
    
  • Интерфейстер (interface)
    • Методдордун топтому, тип аткаруусу керек:
    type Reader interface {
        Read(p []byte) (n int, err error)
    }
    

Мындан тышкары, башка маанилүү курама түрлөрү да бар:

  • Байттардын слайс ([]byte)
  • Рундардын слайс ([]rune)

Бул маалымат структуралары Го тилиндеги кеңири колдонуу үчүн ийкемдүүлүк жана натыйжалуулук камсыздайт.