Sobes.tech
Junior — Middle

Harita içinde anahtarlar nasıl kullanılır, başlangıçta dilde öngörülmeyen veri yapıları oluşturmak için?

sobes.tech yapay zeka

AI'dan gelen yanıt

Go'da map, anahtarların sadece basit türler değil, aynı zamanda karşılaştırılabilir (örneğin, dizeler, sayılar, göstericiler, dilim ve haritalar olmayan yapılar) olduğu durumlarda karmaşık yapılar oluşturmak için kullanılabilen bir ilişkilendirilmiş dizidir.

Örneğin, bir yapıyı anahtar olarak kullanarak iki boyutlu bir matris veya grafik oluşturabilirsiniz:

// Anahtar, nokta koordinatlarıdır
type Point struct {
    X, Y int
}

// Değer, renk veya ağırlık olabilir
var matrix = make(map[Point]string)

matrix[Point{X:1, Y:2}] = "kırmızı"
matrix[Point{X:3, Y:4}] = "mavi"

Ayrıca, bir küme (set) uygulamak için map kullanabilirsiniz; burada anahtar kümenin öğesi, değer ise boş bir yapı (struct{}), bu da 0 bayt yer kaplar:

set := make(map[string]struct{})
set["elma"] = struct{}{}
set["muz"] = struct{}{}

// Öğenin var olup olmadığını kontrol et
if _, exists := set["elma"]; exists {
    fmt.Println("elma kümede var")
}

Bu şekilde, Go'daki mapler, dilin yeteneklerini genişleten çeşitli veri yapıları oluşturmak için esnek araçlardır.