Menu
Coddy logo textTech

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)) // 3

Slice'a eleman ekleyip boyutu kontrol edersek, yeni boyutu elde ederiz:

nums := []int{23, 5, 6, 9, 22}
fmt.Println(len(nums)) // 5

Aksine, bir dizinin sabit bir boyutu vardır. Örneğin:

nums := [4]int{23}
fmt.Println(len(nums)) // 4

4'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).

challenge icon

Görev

Kolay

Kullanı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:

  1. Elemanları eklemeden önce slice'ın uzunluğunu yazdırın.
  2. Slice'a elemanları ekleyin.
  3. 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

}

Golang'de Slices ve Maps bölümündeki tüm dersler