Junior — Middle
Farklı veri yapılarının karşılaştırması yapılabilir mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
Go dilinde, tüm alanları karşılaştırılabilir olan veri yapıları karşılaştırılabilir. Örneğin, temel türlerden (int, string, bool vb.) oluşan yapılar doğrudan == operatörü kullanılarak karşılaştırılabilir.
Ancak, yapının karşılaştırılamayan alanlar içerdiği durumlarda (örneğin, dilimler, haritalar, fonksiyonlar), yapının doğrudan karşılaştırılması derleme hatası verir.
İşte yapıların karşılaştırılmasına örnek:
package main
import "fmt"
type Person struct {
Name string
Age int
}
func main() {
p1 := Person{Name: "Alice", Age: 30}
p2 := Person{Name: "Alice", Age: 30}
p3 := Person{Name: "Bob", Age: 25}
fmt.Println(p1 == p2) // true
fmt.Println(p1 == p3) // false
}
Eğer yapıda karşılaştırılamayan alanlar varsa, örneğin dilimler, karşılaştırmak için kendi karşılaştırma fonksiyonunuzu yazmanız gerekir, bu fonksiyon elemanları tek tek karşılaştırır.