Go o‘zgaruvchilar


O‘zgaruvchilar — ma’lumot qiymatlarini saqlash uchun konteynerlar.


ULASHISH

Go o‘zgaruvchi tiplari

Go tilida o‘zgaruvchilarning turli tiplari mavjud, masalan:

  • int — 123 yoki -123 kabi butun sonlarni (integer) saqlaydi
  • float32 — 19.99 yoki -19.99 kabi kasr qismli (suzuvchi nuqtali) sonlarni saqlaydi
  • string — "Hello World" kabi matnni saqlaydi. String qiymatlar qo‘sh tirnoq ichiga olinadi
  • bool — ikki holatdan birini qabul qiladigan qiymatlarni saqlaydi: true yoki false

O‘zgaruvchilarning turli tiplari haqida batafsil Go ma’lumot tiplari bobida tushuntiriladi.


O‘zgaruvchilarni e’lon qilish (yaratish)

Go tilida o‘zgaruvchini e’lon qilishning ikki usuli bor:

1. var kalit so‘zi yordamida:

var kalit so‘zidan keyin o‘zgaruvchi nomi va tipini yozing:

Sintaksis

var variablename type = value

Eslatma: Har doim type yoki valueni (yoki ikkalasini ham) ko‘rsatishingiz shart.

2. := belgisi yordamida:

:= belgisidan keyin o‘zgaruvchi qiymatini yozing:

Sintaksis

variablename := value

Eslatma: Bu holda o‘zgaruvchining tipi qiymatdan avtomatik aniqlanadi (ya’ni kompilyator o‘zgaruvchi tipini uning qiymatiga qarab o‘zi belgilaydi).

Eslatma: := yordamida o‘zgaruvchini unga qiymat bermasdan e’lon qilib bo‘lmaydi.


Boshlang‘ich qiymatli o‘zgaruvchini e’lon qilish

Agar o‘zgaruvchining qiymati boshidanoq ma’lum bo‘lsa, o‘zgaruvchini e’lon qilib, unga bitta qatorda qiymat berishingiz mumkin:

Misol

package main import "fmt" func main() {   var student1 string = "John" //type is string   var student2 = "Jane" //type is inferred   x := 2 //type is inferred   fmt.Println(student1)   fmt.Println(student2)   fmt.Println(x) }
O‘zingiz sinab ko‘ring »

Eslatma: student2 va x o‘zgaruvchilarining tiplari ularning qiymatlaridan avtomatik aniqlanadi.



Boshlang‘ich qiymatsiz o‘zgaruvchini e’lon qilish

Go tilida barcha o‘zgaruvchilar initsializatsiya qilinadi. Shuning uchun o‘zgaruvchini boshlang‘ich qiymatsiz e’lon qilsangiz, uning qiymati o‘z tipining standart (default) qiymatiga teng bo‘ladi:

Misol

package main import "fmt" func main() {   var a string   var b int   var c bool   fmt.Println(a)   fmt.Println(b)   fmt.Println(c) }
O‘zingiz sinab ko‘ring »

Misol izohi

Ushbu misolda 3 ta o‘zgaruvchi bor:

  • a
  • b
  • c

Bu o‘zgaruvchilar e’lon qilingan, ammo ularga boshlang‘ich qiymat berilmagan.

Kodni ishga tushirib, ular allaqachon o‘z tiplariga mos standart qiymatlarga ega ekanini ko‘ramiz:

  • a qiymati: ""
  • b qiymati: 0
  • c qiymati: false

E’lon qilingandan keyin qiymat berish

O‘zgaruvchi e’lon qilingandan keyin unga qiymat berish mumkin. Bu qiymat oldindan ma’lum bo‘lmagan hollarda foydali.

Misol

package main import "fmt" func main() {   var student1 string   student1 = "John"   fmt.Println(student1) }
O‘zingiz sinab ko‘ring »

Eslatma: ":=" yordamida o‘zgaruvchini unga qiymat bermasdan e’lon qilib bo‘lmaydi.


var va := o‘rtasidagi farq

var va := o‘rtasida ba’zi kichik farqlar bor:

var :=
Funksiyalarning ichida ham, tashqarisida ham ishlatilishi mumkin Faqat funksiyalar ichida ishlatilishi mumkin
O‘zgaruvchini e’lon qilish va unga qiymat berish alohida bajarilishi mumkin O‘zgaruvchini e’lon qilish va unga qiymat berish alohida bajarilishi mumkin emas (bitta qatorda bajarilishi shart)

Misol

Ushbu misolda o‘zgaruvchilar funksiyadan tashqarida var kalit so‘zi bilan e’lon qilingan:

package main import "fmt" var a int var b int = 2 var c = 3 func main() {   a = 1   fmt.Println(a)   fmt.Println(b)   fmt.Println(c) }
O‘zingiz sinab ko‘ring »

Misol

:= funksiyadan tashqarida ishlatilgani uchun dasturni ishga tushirish xatoga olib keladi.

package main import "fmt" a := 1 func main() {   fmt.Println(a) }

Natija:

./prog.go:5:1: syntax error: non-declaration statement outside function body
O‘zingiz sinab ko‘ring »

Go mashqlari

Mashqlar yordamida o‘zingizni sinang

Mashq:

myNum nomli o‘zgaruvchi yarating va unga 50 qiymatini bering.

package main   
import "fmt" 
func main() {
  var  = 
  fmt.Println()
}

Mashqni boshlash


W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!