O'zgarmaslar

...

SU

Go O'zgarmaslar

Agar o'zgaruvchiga o'zgarmas qiymat berish kerak bo'lsa, siz const kalit so'zidan foydalanishingiz mumkin.

const kalit so'zi o'zgaruvchini "doimiy" sifatida e'lon qiladi, ya'ni uning qiymati o'zgarmas va faqat o'qish uchun bo'ladi.

Sintaksis

const CONSTNAME type = value

Eslatma

Doimiy qiymat e'lon qilingan paytda unga qiymat berilishi shart.

Doimiy E'lon Qilish

Quyida Go tilida doimiy e'lon qilish misoli keltirilgan:

Misol

package main
import ("fmt")
 
const PI = 3.14
 
func main() {
  fmt.Println(PI)
}

O'zgarmaslar Qoidalari

  • Doimiy nomlari o'zgaruvchilar nomlash qoidalariga amal qiladi
  • Odatda doimiy nomlar katta harflar bilan yoziladi (o'zgaruvchilardan farq qilish va osongina aniqlash uchun)
  • O'zgarmaslar funksiyaning ichida yoki tashqarisida e'lon qilinishi mumkin

Doimiy Turlari

O'zgarmaslarning ikki turi mavjud:

  1. Turi aniqlangan O'zgarmaslar
  2. Turi aniqlanmagan O'zgarmaslar

Turi Aniqlangan O'zgarmaslar

Turi aniqlangan O'zgarmaslar aniq belgilangan tur bilan e'lon qilinadi:

Misol

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

Turi Aniqlanmagan O'zgarmaslar

Turi aniqlanmagan O'zgarmaslar turisiz e'lon qilinadi:

Misol

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

Eslatma

Bunday holatda doimiyning turi uning qiymatidan kelib chiqib aniqlanadi (ya'ni kompilyator qiymat asosida doimiy turini belgilaydi).

O'zgarmaslar: O'zgarmas va Faqat O'qish Uchun

Doimiy e'lon qilinganida, keyinchalik uning qiymatini o'zgartirish mumkin emas:

Misol

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

Natija:

./prog.go:8:7: cannot assign to A

Bir Nechta O'zgarmaslarni E'lon Qilish

Ko'rinishni yaxshilash uchun bir nechta O'zgarmaslarni blok ichida 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)
}

Ushbu sahifada

GitHubda tahrirlash