Dilime Eleman Ekleme
Coddy'nin Golang'de Slices ve Maps kursunda ders 3 / 21.
Geçtiğimiz derslerde, bir slice (dilim) ile bir dizi (array) arasındaki farkın boyutlarında yattığını ve bunun uzunluk kontrol edildiğinde belirginleştiğini tartışmıştık.
Örneğin, bir slice'ı şu şekilde tanımlarsak:
nums := []int{23, 5, 6}Slice'ımız üç elemana sahiptir ve <strong>len()</strong> fonksiyonunu kullanarak uzunluğu kontrol etmek bize 3 sonucunu verir:
nums := []int{23, 5, 6}
fmt.Println(len(nums)) // 3Slice'a eleman ekleyip boyutu kontrol edersek, yeni boyutu elde ederiz:
nums := []int{23, 5, 6, 9, 22}
fmt.Println(len(nums)) // 5Aksine, bir dizinin sabit bir boyutu vardır. Örneğin:
nums := [4]int{23}
fmt.Println(len(nums)) // 44'ten daha az elemana sahip olsa bile, uzunluk sabit kalır.
Bir slice'a eleman ekleme işlemi <strong>append</strong> kullanılarak yapılır:
books := []string{"Python", "Rust"}
books = append(books, "Golang")
fmt.Println(books)Bunu çalıştırmak şu sonucu verir:
[Python Rust Golang]Golang'de slice'lar yerleşik fonksiyonlarla birlikte gelir ve <strong>append()</strong> bunlardan biridir; mevcut bir slice'a yeni elemanlar eklememize olanak tanır.
Slice'ların dinamik boyutu nedeniyle, eleman eklemek için indeksi kullanamayacağımızı unutmayın (
<strong>books[2] = "Golang"</strong>çalışmayacaktır).
Görev
KolayKullanıcıdan 3 girdi alan ve bunları verilen kodda tanımlanan <strong>coddy</strong> adlı slice'a ekleyen bir program yazın. Aşağıdaki adımları gerçekleştirin:
- Elemanları eklemeden önce slice'ın uzunluğunu yazdırın.
- Slice'a elemanları ekleyin.
- Elemanları ekledikten sonra slice'ı ve güncellenmiş uzunluğu (farklı satırlarda) yazdırın.
Kendin dene
package main
import "fmt"
func main() {
// Kullanıcıdan girdiyi al, bunu değiştirme!
var first, second, third string
fmt.Scan(&first)
fmt.Scan(&second)
fmt.Scan(&third)
// Dilimi (Slice) tanımla
coddy := []string {"SQL","Rust","C#","Golang"}
// Uzunluğu yazdır
// Dilime (Slice) eleman ekle
// Dilimi ve güncellenmiş uzunluğu yazdır
}