Formatting Results
Natijalarni formatlash
Hisoblagich va qaror (ruxsat/rad) tayyor bo'lgach, ularni odam o'qiy oladigan xabarga aylantirish kerak — bu YAML Data Pipeline kursidagi FormatReport darsidagi g'oyaning kichraytirilgan versiyasi: ma'lumotni hisoblash mantig'idan ajratib, faqat ko'rsatish uchun mas'ul bo'lgan alohida funksiya.
func FormatResult(id string, count int, allowed bool) string {
status := "allowed"
if !allowed {
status = "denied"
}
return fmt.Sprintf("%s: request #%d %s", id, count, status)
}E'tibor bering: bu funksiya hech qanday qaror qabul qilmaydi — u faqat allaqachon qabul qilingan qarorni (allowed) matnga aylantiradi. Bu ajratish muhim: keyinchalik qaror qabul qilish mantig'ini o'zgartirsangiz (masalan, algoritmni almashtirsangiz), formatlash kodi butunlay o'zgarishsiz qoladi.
>_ Exercise
FormatResult(id string, count int, allowed bool) string funksiyasini yozing. Agar allowed — true bo'lsa, holat "allowed", aks holda "denied" bo'lsin. Natija: "<id>: request #<count> <status>" shaklida bo'lsin.
Stuck? Reveal a hint to help you.
Key Takeaway
Key Takeaway:
Ko'rsatish (formatlash) mantig'ini qaror qabul qilish mantig'idan ajratib qo'ying. FormatResult faqat allaqachon hisoblangan natijani o'qish oson matnga aylantiradi — bu Go dasturlarida keng tarqalgan, kodni sinash va o'zgartirishni osonlashtiradigan ajratish.
NEXT UP
The Rate Limiter
$ go run main.go
Kodingizni ishga tushiring