51 / 103

Appending to a slice

Slice'ga element qo'shish

Slice'ga yangi elementlar qo'shish juda keng tarqalgan, shuning uchun Go o'rnatilgan append funksiyasini taqdim etadi. append haqida builtin paketining hujjatlarida yozilgan.

example.go
func append(s []T, vs ...T) []T

append ning birinchi parametri s — T tipidagi slice, qolganlari esa slice'ga qo'shiladigan T qiymatlari.

append ning natijasi — dastlabki slice'ning barcha elementlari va berilgan qiymatlarni o'z ichiga olgan slice.

Agar s ning ichki massivi berilgan barcha qiymatlarni sig'dirish uchun juda kichik bo'lsa, kattaroq massiv ajratiladi. Qaytarilgan slice yangi ajratilgan massivga ko'rsatadi.

(Slice'lar haqida ko'proq bilish uchun Slices: usage and internals maqolasini o'qing.)

Topshiriqlar

Yechimni kodning pastki qismidagi Topshiriqlar bo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.

1-topshiriq

juftlar(s []int) []int funksiyasini yozing: s ning faqat juft elementlarini (tartibini saqlab) append yordamida yangi slice'ga yig'ib qaytarsin. Masalan, juftlar([]int{1, 2, 3, 4, 6}) — [2 4 6].

2-topshiriq

takrorlash(s []int, n int) []int funksiyasini yozing: s ni ketma-ket n marta takrorlab qaytarsin (append(natija, s...)). Masalan, takrorlash([]int{1, 2}, 3) — [1 2 1 2 1 2], n == 0 bo'lsa — bo'sh slice.