Junior — Middle
Може ли да се врши поређење различитих структура података?
sobes.tech АИ
Одговор од АИ
U Go-u, možete porediti strukture podataka ako su sva njihova polja porediva. Na primer, strukture koje se sastoje od osnovnih tipova (int, string, bool itd.) mogu se direktno porediti pomoću operatora ==.
Međutim, ako struktura sadrži polja koja nisu porediva (npr. slices, mape, funkcije), direktno poređenje strukture će izazvati grešku pri kompilaciji.
Primer poređenja struktura:
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
}
Ako struktura sadrži polja koja nisu porediva, na primer slices, potrebno je implementirati sopstvenu funkciju za poređenje koja će proći kroz elemente i uporediti ih pojedinačno.