Ma'lumot turlari
Go dasturlash tilida ma'lumot turlari o'zgaruvchilar bilan bog'liq bo'lgan ma'lumot turini aniqlash uchun ishlatiladi. Masalan:
var age int
Bu yerda int ma'lumot turi bo'lib, age o'zgaruvchisi butun sonli ma'lumotlarni saqlashini belgilaydi.
Quyidagi jadvalda Go dasturlash tilidagi asosiy ma'lumot turlari keltirilgan:
| Ma'lumot turi | Tavsif | Misollar |
|---|---|---|
int | Butun sonlar. | 7123, 0, -5, 7023 |
float | O'nlik kasrli sonlar. | 20.2, 500.123456, -34.23 |
complex | Kompleks sonlar. | 2+4i, -9.5+18.3i |
string | Belgilar ketma-ketligi (matn). | "Salom Dunyo!", "1 soni 2 dan kichik" |
bool | true yoki false mantiqiy qiymat. | true, false |
byte | Bayt (8 bit) manfiy bo'lmagan butun sonlar. | 2, 115, 97 |
rune | Yagona belgilar uchun (ichki jihatdan 32-bitli butun son). | 'a', '7', '<' |
Endi eng ko'p qo'llaniladigan ma'lumot turlarini batafsil ko'rib chiqamiz.
Butun sonlar — nol, musbat va manfiy qiymatlarga ega bo'lishi mumkin bo'lgan, ammo o'nlik kasr qismi bo'lmagan sonlardir (masalan: 0, 5, -1340).
Butun sonlarni e'lon qilish uchun odatda int kalit so'zidan foydalanamiz:
var id int
Bu yerda id — butun son turidagi o'zgaruvchidir.
Bir qatorda bir nechta o'zgaruvchini ham e'lon qilishingiz mumkin:
var id, age int
Go dasturlash tilida butun sonlarning ikkita asosiy toifasi mavjud:
int): musbat va manfiy butun sonlarni saqlay oladi.uint): faqat noldan katta yoki teng bo'lgan musbat sonlarni saqlaydi.Go tilida butun sonlarning quyidagi variantlari va o'lchamlari mavjud:
| Ma'lumot turi | O'lchami |
|---|---|
int / uint | 32 bit (4 bayt) yoki 64 bit (8 bayt) — operatsion tizim arxitekturasiga bog'liq |
int8 / uint8 | 8 bit (1 bayt) |
int16 / uint16 | 16 bit (2 bayt) |
int32 / uint32 | 32 bit (4 bayt) |
int64 / uint64 | 64 bit (8 bayt) |
[!NOTE] Agar dasturingizda maxsus talab bo'lmasa, butun sonlar yaratish uchun odatda oddiy
intkalit so'zidan foydalaniladi.
package main
import "fmt"
func main() {
var integer1 int
var integer2 int
integer1 = 5
integer2 = 10
fmt.Println(integer1)
fmt.Println(integer2)
}
Natija:
5
10
float turi o'nlik kasrli qiymatlarni saqlash uchun ishlatiladi (masalan: 6.7, -34.2).
Ishlatiladigan kalit so'zlar: float32, float64.
Misol:
var salary float64
Go tilida suzuvchi nuqtali sonlarning ikkita o'lchami mavjud:
| Ma'lumot turi | O'lchami |
|---|---|
float32 | 32 bit (4 bayt) |
float64 | 64 bit (8 bayt) |
[!NOTE] Agar o'zgaruvchini
:=orqali turini aniq ko'rsatmasdan kasr son bilan e'lon qilsangiz (masalan,salary := 5676.3), uning turi avtomatik ravishdafloat64deb belgilanadi.
// float32 va float64 aniqligini ko'rsatuvchi dastur
package main
import "fmt"
func main() {
var salary1 float32
var salary2 float64
salary1 = 50000.503882901
// float64 o'nlik kasrlarni ancha yuqori aniqlik bilan saqlaydi
salary2 = 50000.503882901
fmt.Println(salary1)
fmt.Println(salary2)
}
Natija:
50000.504
50000.503882901
Satr (string) — bu belgilar ketma-ketligidir (masalan: "Salom", "Go dasturlash tili").
Kalit so'z: string.
Misol:
var message string
Go tilida satrlarni yaratish uchun qo'shtirnoq ("...") yoki teskari tirnoq (backtick `...`) ishlatiladi:
var message1 string = "Salom Dunyo"
var message2 string = `Salom Dunyo`
// String o'zgaruvchisini yaratish dasturi
package main
import "fmt"
func main() {
var message string
message = "Go Dasturchi portaliga xush kelibsiz!"
fmt.Println(message)
}
Natija:
Go Dasturchi portaliga xush kelibsiz!
Mantiqiy (boolean) ma'lumot turi faqat ikkita mumkin bo'lgan qiymatga ega: true (rost) yoki false (yolg'on).
Kalit so'z: bool.
Misol:
var isValid bool
// Boolean o'zgaruvchisi yaratish dasturi
package main
import "fmt"
func main() {
var boolValue bool
boolValue = false
fmt.Println(boolValue)
}
Natija:
false
package main
import "fmt"
func main() {
var integerVal int = 42
var floatVal float64 = 3.1415926535
var stringVal string = "Go Dasturchi"
var boolVal bool = true
fmt.Println("Integer:", integerVal)
fmt.Println("Float:", floatVal)
fmt.Println("String:", stringVal)
fmt.Println("Boolean:", boolVal)
}