|
Sanab o’tilgan tiplar (enumlar) sum tiplarning maxsus holatidir. Enum bu cheklangan miqdordagi mumkin bo’lgan qiymatlarga ega tip bo’lib, ularning har biri alohida nomga ega. Go’da enum tipi alohida til xususiyati sifatida mavjud emas, biroq enumlarni mavjud til idiomalaridan foydalanib amalga oshirish oson. |
|
![]()
|
|
|
|
|
Bizning |
|
|
|
|
|
fmt.Stringer interfeysini amalga
oshirish orqali Agar mumkin bo’lgan qiymatlar ko’p bo’lsa, bu noqulay bo’lib qolishi
mumkin. Bunday holatlarda jarayonni avtomatlashtirish uchun stringer
vositasi |
|
|
|
|
Agar bizda |
|
|
|
|
transition server uchun holat o’tishini emulyatsiya qiladi; u mavjud holatni qabul qiladi va yangi holatni qaytaradi. |
|
|
Faraz qilaylik, keyingi holatni aniqlash uchun bu yerda biror predikatlarni tekshiramiz… |
|
|
Keyingi misol: Struct Embedding.