GoDasturchi
Working with the Standard Library: time and strings

Working with the Standard Library: time and strings

Standart kutubxona bilan ishlash: time va strings

Haqiqiy dasturlar kamdan-kam hech qanday tashqi paketsiz yoziladi. Go'ning standart kutubxonasigo.modda hech qanday qo'shimcha bog'liqlik ko'rsatmasdan foydalanish mumkin bo'lgan, tilning o'zi bilan birga keladigan paketlar to'plami. Siz allaqachon fmt, strings, strconv, sync kabi ko'plab paketlarni ishlatgansiz — ular barchasi standart kutubxonaning bir qismi.

Bir nechta standart paketni bitta dasturda birlashtirish odatiy holat. Masalan, time paketi sanalar bilan ishlaydi, strings esa matn bilan — ularni birga ishlatib, sana asosida formatlash yasash mumkin:

example.go
t := time.Date(2024, time.March, 15, 0, 0, 0, 0, time.UTC)
month := strings.ToUpper(t.Month().String())
fmt.Sprintf("EVENT: %d %s %d", t.Day(), month, t.Year())
// "EVENT: 15 MARCH 2024"

time.Date(...) aniq bir sanani yaratadi (bu — Buffered Channels kursida ko'rgan aniq, testlash oson qiymatlar bilan ishlash g'oyasining davomi: time.Now() o'rniga aniq sana ishlatish, natija har doim bir xil bo'lishini kafolatlaydi). t.Month().String() oy nomini so'z sifatida qaytaradi ("March"), strings.ToUpper esa uni katta harflarga o'tkazadi.

>_ Exercise

FormatEventDate(t time.Time) string funksiyasini yozing. U berilgan time.Timedan kun, oy nomi (katta harflarda) va yilni olib, "EVENT: <kun> <OY> <yil>" shaklida qatorni qaytaradi.

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Standart kutubxona paketlari (time, strings, va boshqalar) alohida-alohida ham, birgalikda ham ishlatilishi mumkin. time.Date bilan aniq, testlash oson sanalar yaratish — time.Now()ga tayangan, natijasi har safar boshqacha bo'ladigan kodning ishonchli muqobilidir.

NEXT UP

Go Modules and Dependencies

OUTPUT

$ go run main.go
Kodingizni ishga tushiring

Working with the Standard Library: time and strings

Standart kutubxona bilan ishlash: time va strings

Haqiqiy dasturlar kamdan-kam hech qanday tashqi paketsiz yoziladi. Go'ning standart kutubxonasigo.modda hech qanday qo'shimcha bog'liqlik ko'rsatmasdan foydalanish mumkin bo'lgan, tilning o'zi bilan birga keladigan paketlar to'plami. Siz allaqachon fmt, strings, strconv, sync kabi ko'plab paketlarni ishlatgansiz — ular barchasi standart kutubxonaning bir qismi.

Bir nechta standart paketni bitta dasturda birlashtirish odatiy holat. Masalan, time paketi sanalar bilan ishlaydi, strings esa matn bilan — ularni birga ishlatib, sana asosida formatlash yasash mumkin:

example.go
t := time.Date(2024, time.March, 15, 0, 0, 0, 0, time.UTC)
month := strings.ToUpper(t.Month().String())
fmt.Sprintf("EVENT: %d %s %d", t.Day(), month, t.Year())
// "EVENT: 15 MARCH 2024"

time.Date(...) aniq bir sanani yaratadi (bu — Buffered Channels kursida ko'rgan aniq, testlash oson qiymatlar bilan ishlash g'oyasining davomi: time.Now() o'rniga aniq sana ishlatish, natija har doim bir xil bo'lishini kafolatlaydi). t.Month().String() oy nomini so'z sifatida qaytaradi ("March"), strings.ToUpper esa uni katta harflarga o'tkazadi.

>_ Exercise

FormatEventDate(t time.Time) string funksiyasini yozing. U berilgan time.Timedan kun, oy nomi (katta harflarda) va yilni olib, "EVENT: <kun> <OY> <yil>" shaklida qatorni qaytaradi.

Stuck? Reveal a hint to help you.

Hints (0/3)

Key Takeaway

Key Takeaway:

Standart kutubxona paketlari (time, strings, va boshqalar) alohida-alohida ham, birgalikda ham ishlatilishi mumkin. time.Date bilan aniq, testlash oson sanalar yaratish — time.Now()ga tayangan, natijasi har safar boshqacha bo'ladigan kodning ishonchli muqobilidir.

NEXT UP

Go Modules and Dependencies