sadece karşılaştırılabilir alanlarını içeren bir yapı karşılaştırılabilir olması gerektiğine inanıyoruz için: tüm alanları karşılaştırılabilir iseGolang yapı karşılaştırma
Struct değerleri benzerdir. Boş olmayan alanların eşit olması durumunda iki yapı değeri eşittir.
Bunun gibi, ben aşağıdaki kod "Öğrenci" yapı içinde tüm alanları beri derlemek için beklediğiniz karşılaştırılabilir şunlardır:
package main
type Student struct {
Name string // "String values are comparable and ordered, lexically byte-wise."
Score uint8 // "Integer values are comparable and ordered, in the usual way."
}
func main() {
alice := Student{"Alice", 98}
carol := Student{"Carol", 72}
if alice >= carol {
println("Alice >= Carol")
} else {
println("Alice < Carol")
}
}
Ancak
, mesajla bu fails to compile:
geçersiz işlem: alice> = carol (operatör> = yapı tanımlanmamış)
Neyi özlüyorum?