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)
Бул маалымат структуралары Го тилиндеги кеңири колдонуу үчүн ийкемдүүлүк жана натыйжалуулук камсыздайт.