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.
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
sning 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.)
Yechimni kodning pastki qismidagi
Topshiriqlarbo'limiga yozing, so'ng Submit tugmasini bosing. Mavzu mustahkam o'zlashishi uchun ikkala topshiriqni ham bajaring.
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].
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.