Slug Generator 4: Ship It
Slug generatori 4: Ishga tushirish
Oxirgi qadam. Sizda har biri bitta ishni qiladigan ikkita funksiya bor, va faqat bitta bo'lak yetishmayapti: kichik harfga aylantirish.
Bytes, Runes & Sized Types darsida toUpper ni qo'lda yozgan edingiz. Kichik harfdan 32 ni ayirish, tamom. Kichik harfga aylantirish xuddi shu g'oyaning teskarisi. Buni o'zingiz ham yozishingiz mumkin edi.
Lekin buning hojati yo'q. Go'ning standart kutubxonasi strings paketi bilan birga keladi, va u allaqachon bu funksiyaga ega:
strings.ToLower("Go IS Fun") // "go is fun"Sizning versiyangiz faqat ASCII bilan ishlaydi. strings.ToLower esa butun Unicode bilan ishlaydi va bitta chaqiruv, xolos. Standart kutubxonada sizga kerakli narsa allaqachon bo'lsa, o'shandan foydalaning.
Sizning toSlug funksiyangiz — bu kompozitsiya: cleanText keraksizni tozalaydi, spacesToHyphens bo'shliqlarni hal qiladi, strings.ToLower esa yakunlaydi.
>_ Exercise
Istalgan sarlavhani toza URL slugiga aylantiradigan toSlug(title string) string funksiyasini yozing.
Quyidagi uchta tayyor yordamchi funksiyadan pipeline (quvur liniyasi) yasash uchun foydalaning:
- •1.
cleanText— noto'g'ri belgilarni tozalaydi - •2.
spacesToHyphens— bo'shliqlarni tirega almashtiradi - •3.
strings.ToLower— hammasini kichik harfga aylantiradi
Misollar:
- •
toSlug("My First Blog Post!")→"my-first-blog-post" - •
toSlug("Go 1.21: What's New?")→"go-121-whats-new" - •
toSlug(" Hello World ")→"hello-world" - •
toSlug("UPPERCASE THINGS")→"uppercase-things"
Stuck? Reveal a hint to help you.
Key Takeaway
Key Takeaway:
Bitta ishni yaxshi bajaradigan kichik, aniq maqsadli funksiyalar — Go dasturlarining qurilish bloklaridir. Ularni pipeline'ga birlashtiring.
$ go run main.go
Kodingizni ishga tushiring