Input Cleanup
Kirish ma'lumotini tozalash
Client Registry darsida mijoz ID'larini to'g'ridan-to'g'ri map kaliti sifatida ishlatdik. Lekin haqiqiy dunyoda bitta mijoz ID'si turlicha yozilishi mumkin: "Alice", " alice ", "ALICE" — insoniy ko'zga bir xil, lekin Go uchun uchta butunlay boshqa satr, demak uchta boshqa map kaliti bo'lib qoladi.
Yechim — normallashtirish: reyestrga qo'shishdan oldin ID'ni bir xil, izchil shaklga keltirish. Strings Under the Hood kursida ko'rgan strings paketidagi ikkita funksiya buning uchun yetarli:
func CleanID(raw string) string {
return strings.ToLower(strings.TrimSpace(raw))
}
// " Alice " -> "alice"
// "ALICE" -> "alice"strings.TrimSpace boshi va oxiridagi bo'sh joylarni olib tashlaydi, strings.ToLower esa hammasini kichik harfga o'tkazadi. Bu ikkalasini birlashtirib, endi qanday yozilishidan qat'i nazar bitta mijoz doim bitta kalitga tushadi.
>_ Exercise
CleanID(raw string) string funksiyasini yozing. U berilgan satrning boshi/oxiridagi bo'sh joylarni olib tashlaydi va uni kichik harflarga o'tkazadi.
Stuck? Reveal a hint to help you.
Key Takeaway
Key Takeaway:
Foydalanuvchidan kelgan ma'lumotni identifikator sifatida ishlatishdan oldin har doim normallashtiring (TrimSpace + ToLower kabi). Aks holda bitta haqiqiy mijoz tizim nazarida bir nechta turli mijozga aylanib qolishi mumkin.
NEXT UP
Request Gatekeeper
$ go run main.go
Kodingizni ishga tushiring