Go konstantalar


ULASHISH

Go konstantalar

Agar o‘zgaruvchi o‘zgartirib bo‘lmaydigan qat’iy qiymatga ega bo‘lishi kerak bo‘lsa, const kalit so‘zidan foydalanishingiz mumkin.

const kalit so‘zi o‘zgaruvchini "konstanta" sifatida e’lon qiladi, ya’ni u o‘zgarmas va faqat o‘qish uchun bo‘ladi.

Sintaksis

const CONSTNAME type = value

Eslatma: Konstantaning qiymati u e’lon qilinayotganda berilishi shart.


Konstantani e’lon qilish

Go tilida konstantani e’lon qilishga misol:

Misol

package main import "fmt" const PI = 3.14 func main() {   fmt.Println(PI) }
O‘zingiz sinab ko‘ring »

Konstantalar uchun qoidalar

  • Konstanta nomlari o‘zgaruvchilar bilan bir xil nomlash qoidalariga bo‘ysunadi
  • Konstanta nomlari odatda katta harflar bilan yoziladi (ularni oson aniqlash va o‘zgaruvchilardan ajratish uchun)
  • Konstantalarni funksiya ichida ham, tashqarisida ham e’lon qilish mumkin

Konstanta turlari

Konstantalarning ikki turi mavjud:

  • Tipli konstantalar
  • Tipsiz konstantalar

Tipli konstantalar

Tipli konstantalar aniq belgilangan tip bilan e’lon qilinadi:

Misol

package main import "fmt" const A int = 1 func main() {   fmt.Println(A) }
O‘zingiz sinab ko‘ring »


Tipsiz konstantalar

Tipsiz konstantalar tip ko‘rsatilmasdan e’lon qilinadi:

Misol

package main import "fmt" const A = 1 func main() {   fmt.Println(A) }
O‘zingiz sinab ko‘ring »

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


Konstantalar: o‘zgarmas va faqat o‘qish uchun

Konstanta e’lon qilingandan keyin uning qiymatini o‘zgartirib bo‘lmaydi:

Misol

package main import "fmt" func main() {   const A = 1   A = 2   fmt.Println(A) }

Natija:

./prog.go:8:7: cannot assign to A
O‘zingiz sinab ko‘ring »

Bir nechta konstantani e’lon qilish

O‘qish qulay bo‘lishi uchun bir nechta konstantani bitta blokka guruhlash mumkin:

Misol

package main import "fmt" const (   A int = 1   B = 3.14   C = "Hi!" ) func main() {   fmt.Println(A)   fmt.Println(B)   fmt.Println(C) }
O‘zingiz sinab ko‘ring »

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!