Эстутумда сакталган бардык маалыматтар негизинен биттердин жыйындысы. Жана бул маалымат кандайча чечмеленерин жана аны менен кандай операцияларды аткарууга болорун аныктаган маалымат түрү. Go - бул статикалык түрдө терилген тил, башкача айтканда, программада колдонулган бардык маалыматтар белгилүү бир типте.
Go бир катар камтылган маалымат түрлөрүнө ээ жана ошондой эле өз түрлөрүн аныктоого мүмкүндүк берет. Келгиле, биз колдоно ала турган негизги камтылган маалымат түрлөрүн карап көрөлү.
Бүтүн сан түрлөрү
бир катар түрлөрү бүтүн сандарды билдирет:
Бул жерде u (uint32) префикси менен башталган кол коюлган түрлөрү (б.а. терс болушу мүмкүн) жана кол коюлбаган оң түрлөрү бар экенин эстен чыгарбоо оңой. Ооба, ошондой эле байт бар - uint8 үчүн синоним жана rune - int32 үчүн синоним.
int жана uint түрлөрүн белгилей кетүү керек. Алар белгилүү бир платформа үчүн эң натыйжалуу өлчөмгө ээ (32 же 64 бит). Бул программада бүтүн сандарды көрсөтүү үчүн эң көп колдонулган түрү. Мындан тышкары, ар кандай компиляторлор, ал тургай, бир эле платформа үчүн, бул түрлөрү үчүн ар кандай өлчөмдө камсыз кыла алат.
Бүтүн сандарды көрсөткөн өзгөрмөлөрдү аныктоо мисалдары:
1 2 3 1 5 6 7 8 9 10 11 12 |
var a int8 = -1 var b uint8 = 2 var c byte = 3 // byte - синоним типа uint8 var d int16 = -4 var f uint16 = 5 var g int32 = -6 var h rune = -7 // rune - синоним типа int32 var j uint32 = 8 var k int64 = -9 var l uint64 = 10 var m int = 102 var n uint = 105 |
Калкыма чекиттеги сандар
Бөлчөк сандарды көрсөтүүнүн эки түрү бар:
float32 түрү тактыктын алты ондук цифрасын камсыз кылат, ал эми float64 түрү тактыктын болжол менен 15 цифрасын камсыз кылат.
float32 жана float64 түрлөрүн колдонуу мисалдары:
1 2 3 4 5 |
var f float32 = 18 var g float32 = 4.5 var d float64 = 0.23 var pi float64 = 3.14 var e float64 = 2.7 |
Бүтүн жана бөлчөк бөлүктүн ортосундагы бөлүүчү катары чекит колдонулат.
Татаал сандар
Татаал сандарды көрсөтүү үчүн өзүнчө түрлөрү бар:
Колдонуу мисалы:
1 2 |
var f complex64 = 1+2i var g complex128 = 4+3i |
bool териңиз
Логикалык же bool түрү эки маанинин бирине ээ болушу мүмкүн: чыныгы (чын) же жалган (жалган).
1 2 |
var isAlive bool = true var isEnabled bool = false |
Саптар
Саптар сап түрү менен көрсөтүлөт . Go'до сап сап литералына туура келет - кош тырмакчага алынган символдордун ырааттуулугу:
1 |
var name string = "Том Сойер" |
Жөнөкөй символдордон тышкары, сап \ менен тескери сызык менен башталган атайын ырааттуулуктарды (качуунун ырааттуулугун) камтышы мүмкүн. Эң кеңири таралган тизмектер:
Демейки маани
Эгерде өзгөрмө маани берилбесе, анда анын түрү үчүн аныкталган демейки мааниге ээ. Сандык типтер үчүн бул 0 саны, логикалык тип үчүн бул жалган, саптар үчүн "" (бош сап).
Толук терүү
Өзгөрмөлөрдү аныктоодо, биз өзгөрмөнү кандайдыр бир маани менен инициализация кылсак, түрүн өткөрүп жиберсек болот:
1 |
var name = "Tom" |
Бул учурда, компилятор мааниге негизделген өзгөрмөнүн түрүн кыйыр түрдө чыгарат. Эгерде сап ыйгарылган болсо, анда ошого жараша өзгөрмө саптын түрүн көрсөтөт, эгерде бүтүн сан дайындалса, анда өзгөрмө int түрүн көрсөтөт ж.б.у.с.
Ошол эле нерсе, негизинен, кыска өзгөрмө аныктамасы менен болот, качан маалымат түрү да ачык көрсөтүлбөсө:
1 |
name := "Tom" |
Ошол эле учурда, эгерде биз өзгөрмөнүн түрүн көрсөтпөсөк, анда ага кандайдыр бир баштапкы маани берилиши керек экендигин эске алуу керек. Бир эле убакта берилиштердин түрүн жана баштапкы маанисин көрсөтпөстөн өзгөрмө жарыялоо ката болуп калат:
1 |
var name // ! Ошибка |
Маалыматтын түрүн көрсөтүшүңүз керек (бул учурда өзгөрмө демейки мааниге ээ болот):
1 |
var name string |
Же маалымат түрү алынган баштапкы маанини көрсөтүңүз:
1 |
var name = "Tom" |
Же бир эле учурда экөө тең:
1 |
var name string = "Tom" |
Бир нече өзгөрмөлөрдү кыйыр түрдө терүү:
1 2 3 4 |
var ( name = "Tom" age = 27 ) |
же ушул сыяктуу:
1 |
var name, age = "Tom", 27 |