GoDasturchi
Counting Requests

Counting Requests

So'rovlarni sanash

Endi mijozlarni tekshirib, tozalab bo'ldik — keyingi qadam har bir mijoz nechta so'rov yuborganini kuzatish, chunki rate limiting aynan shu sonni chegaralash haqida. Bu — Count Everything darsidagi counts[key]++ andazasining aynan o'zi, endi struct ichiga o'ralgan holda:

example.go
type Counter struct {
    counts map[string]int
}

func (c *Counter) Increment(id string) int {
    c.counts[id]++
    return c.counts[id]
}

Increment ikkita ishni birdaniga qiladi: hisoblagichni oshiradi va yangi qiymatni qaytaradi — chaqiruvchi alohida Get chaqirmasdan, "bu nechinchi so'rov edi?" degan savolga darhol javob oladi.

>_ Exercise

counts map[string]int maydoniga ega Counter struct'ini va NewCounter() *Counter konstruktorini yozing. Increment(id string) int metodini yozing — u shu mijozning hisoblagichini bittaga oshirib, yangi qiymatni qaytaradi.

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

map[string]int bilan har bir mijoz uchun mustaqil hisoblagich saqlash mumkin. Increment oshirish va o'qishni bitta metodda birlashtirib, chaqiruvchiga qulaylik yaratadi.

NEXT UP

Formatting Results

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Counting Requests

So'rovlarni sanash

Endi mijozlarni tekshirib, tozalab bo'ldik — keyingi qadam har bir mijoz nechta so'rov yuborganini kuzatish, chunki rate limiting aynan shu sonni chegaralash haqida. Bu — Count Everything darsidagi counts[key]++ andazasining aynan o'zi, endi struct ichiga o'ralgan holda:

example.go
type Counter struct {
    counts map[string]int
}

func (c *Counter) Increment(id string) int {
    c.counts[id]++
    return c.counts[id]
}

Increment ikkita ishni birdaniga qiladi: hisoblagichni oshiradi va yangi qiymatni qaytaradi — chaqiruvchi alohida Get chaqirmasdan, "bu nechinchi so'rov edi?" degan savolga darhol javob oladi.

>_ Exercise

counts map[string]int maydoniga ega Counter struct'ini va NewCounter() *Counter konstruktorini yozing. Increment(id string) int metodini yozing — u shu mijozning hisoblagichini bittaga oshirib, yangi qiymatni qaytaradi.

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

map[string]int bilan har bir mijoz uchun mustaqil hisoblagich saqlash mumkin. Increment oshirish va o'qishni bitta metodda birlashtirib, chaqiruvchiga qulaylik yaratadi.

NEXT UP

Formatting Results