Menu
Coddy logo textTech

Anahtar Varlığını Kontrol Etme

Coddy'nin GO Journey'sinin Temeller bölümünün bir parçası — ders 89 / 109.

Go'da, iki değerli atama formunu kullanarak bir anahtarın bir map içinde var olup olmadığını kontrol edebilirsiniz. Bu önemlidir çünkü var olmayan bir anahtara erişmek, yanıltıcı olabilecek sıfır değerini (zero value) döndürür.

Ülke kodlarından oluşan bir map oluşturun:

countries := map[string]string{
    "US": "United States",
    "CA": "Canada",
}

// "UK" değerinin map içinde olup olmadığını kontrol edin
value, exists := countries["UK"]
fmt.Println("Value:", value, "Exists:", exists)

Sonuç:

Value:  Exists: false

exists boolean değeri, anahtarın bulunup bulunmadığını size söyler. Bunu koşullu ifadelerde kullanın:

if _, exists := countries["US"]; exists {
    fmt.Println("US is in the map")
}

Sonuç:

US is in the map
challenge icon

Görev

Başlangıç

Bu meydan okumada, bir map içerisinde bir anahtarın var olup olmadığını kontrol etme pratiği yapacaksınız. Elinizde öğrenci notlarından oluşan bir map var ve belirli bir öğrencinin notunun bu map içerisinde bulunup bulunmadığını kontrol etmeniz gerekiyor.

'Emma' öğrencisinin grades map'inde olup olmadığını kontrol etmek için kodu tamamlayın ve uygun bir mesaj yazdırın.

Kopya kağıdı

İki değerli atama kullanarak bir anahtarın map içinde var olup olmadığını kontrol edin:

value, exists := mapName["key"]

İkinci değer, anahtarın bulunup bulunmadığını belirten bir booleandır:

countries := map[string]string{
    "US": "United States",
    "CA": "Canada",
}

value, exists := countries["UK"]
fmt.Println("Value:", value, "Exists:", exists)
// Çıktı: Value:  Exists: false

_ ile değeri yoksayarak koşullu ifadelerde kullanın:

if _, exists := countries["US"]; exists {
    fmt.Println("US is in the map")
}

Kendin dene

package main

import "fmt"

func main() {
	// Öğrenci notları haritası
	grades := map[string]int{
		"John":  85,
		"Sarah": 92,
		"Mike":  78,
		"Lisa":  95,
	}

	// Kontrol edilecek öğrenci
	studentToCheck := "Emma"

	// YAPILACAK: studentToCheck'in grades haritasında mevcut olup olmadığını kontrol edin
	// ve sonucu 'exists' adlı bir değişkende saklayın
	// İpucu: comma-ok deyimini kullanın


	// Sonucu yazdır
	if exists {
		fmt.Printf("%s's grade exists in the map\n", studentToCheck)
	} else {
		fmt.Printf("%s's grade does not exist in the map\n", studentToCheck)
	}
}
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler