LevelUpGo
The Building Blocks

The Building Blocks

Go'dagi har bir qiymatning turi (type) bor. Mana shu to'rttasi yozadigan narsalaringizning aksariyatini qamrab oladi:

TURNIMANI SAQLAYDIMISOL
intButun sonlar42, -7, 0
float64O'nlik kasrlar3.14, 0.5
stringMatn (qo'shtirnoqda)"hello", "Go"
boolTo'g'ri yoki noto'g'ritrue, false

Sonlar bilan amal bajarish, ularni solishtirish va satrlarni birlashtirish mumkin:

example.go
fmt.Println(10 + 3)        // 13
fmt.Println(10 > 3)        // true
fmt.Println("Go" + "lang") // Golang
fmt.Println(7.0 / 2.0)     // 3.5

Solishtirish amallari (>, <, >=, <=, ==, !=) doim bool qiymat beradi. + operatori sonlarni qo'shadi yoki satrlarni birlashtiradi.

Bir nechta qiymatni chop etishda bo'sh joylar

fmt.Println har bir argument orasiga bo'sh joy qo'yadi. + esa satrlarni orasiga hech narsa qo'ymay birlashtiradi. Agar satringiz allaqachon bo'sh joy bilan tugasa-yu, keyin vergul ishlatsangiz, ikkita bo'sh joy hosil bo'ladi:

example.go
fmt.Println("a", "b")               // a b
fmt.Println("a" + "b")              // ab
fmt.Println("Status: ", "OK")       // Status:  OK   (ikki bo'shliq)
fmt.Println("Status: " + "OK")      // Status: OK   (bitta bo'shliq)

Go yo'l qo'ymaydigan ikki narsa

  • Turlarni aralashtirish. int ni float64 ga yoki songa satrni qo'sha olmaysiz. Kompilyator buni kodingiz ishga tushishidan oldin aniqlaydi.
  • Ishlatilmagan o'zgaruvchilar. E'lon qilingan har bir o'zgaruvchi ishlatilishi shart, aks holda kompilyator declared and not used kabi xato bilan to'xtaydi.

>_ Exercise

Siz API health endpoint yaratyapsiz. Natija quyidagicha bo'lishi uchun uchta fmt.Println chaqiruvini to'ldiring:

example.go
Status: OK
Healthy: true
Latency: 1.5

Har bir qator turli usulni ishlatadi:

  • Status — ikkita satrni + bilan birlashtiring
  • HealthystatusCode ni 200 bilan == orqali solishtiring (bu bool beradi)
  • Latency — ikkita floatni bo'lib, 1.5 hosil qiling

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Go'da to'rtta asosiy tur bor: int, float64, string, va bool. Har bir qiymat aniq bitta turga ega, va Go ular orasida hech qachon sukut bo'yicha (silently) aylantirmaydi.

NEXT UP

Remembering Things

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

The Building Blocks

Go'dagi har bir qiymatning turi (type) bor. Mana shu to'rttasi yozadigan narsalaringizning aksariyatini qamrab oladi:

TURNIMANI SAQLAYDIMISOL
intButun sonlar42, -7, 0
float64O'nlik kasrlar3.14, 0.5
stringMatn (qo'shtirnoqda)"hello", "Go"
boolTo'g'ri yoki noto'g'ritrue, false

Sonlar bilan amal bajarish, ularni solishtirish va satrlarni birlashtirish mumkin:

example.go
fmt.Println(10 + 3)        // 13
fmt.Println(10 > 3)        // true
fmt.Println("Go" + "lang") // Golang
fmt.Println(7.0 / 2.0)     // 3.5

Solishtirish amallari (>, <, >=, <=, ==, !=) doim bool qiymat beradi. + operatori sonlarni qo'shadi yoki satrlarni birlashtiradi.

Bir nechta qiymatni chop etishda bo'sh joylar

fmt.Println har bir argument orasiga bo'sh joy qo'yadi. + esa satrlarni orasiga hech narsa qo'ymay birlashtiradi. Agar satringiz allaqachon bo'sh joy bilan tugasa-yu, keyin vergul ishlatsangiz, ikkita bo'sh joy hosil bo'ladi:

example.go
fmt.Println("a", "b")               // a b
fmt.Println("a" + "b")              // ab
fmt.Println("Status: ", "OK")       // Status:  OK   (ikki bo'shliq)
fmt.Println("Status: " + "OK")      // Status: OK   (bitta bo'shliq)

Go yo'l qo'ymaydigan ikki narsa

  • Turlarni aralashtirish. int ni float64 ga yoki songa satrni qo'sha olmaysiz. Kompilyator buni kodingiz ishga tushishidan oldin aniqlaydi.
  • Ishlatilmagan o'zgaruvchilar. E'lon qilingan har bir o'zgaruvchi ishlatilishi shart, aks holda kompilyator declared and not used kabi xato bilan to'xtaydi.

>_ Exercise

Siz API health endpoint yaratyapsiz. Natija quyidagicha bo'lishi uchun uchta fmt.Println chaqiruvini to'ldiring:

example.go
Status: OK
Healthy: true
Latency: 1.5

Har bir qator turli usulni ishlatadi:

  • Status — ikkita satrni + bilan birlashtiring
  • HealthystatusCode ni 200 bilan == orqali solishtiring (bu bool beradi)
  • Latency — ikkita floatni bo'lib, 1.5 hosil qiling

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Go'da to'rtta asosiy tur bor: int, float64, string, va bool. Har bir qiymat aniq bitta turga ega, va Go ular orasida hech qachon sukut bo'yicha (silently) aylantirmaydi.

NEXT UP

Remembering Things