Junior — Middle
Vai ir iespējams salīdzināt dažādas datu struktūras?
sobes.tech AI
Atbilde no AI
Go valodā var salīdzināt datu struktūras, ja visi to lauki ir salīdzināmi. Piemēram, struktūras, kas sastāv no pamattipiem (int, string, bool utt.), var tieši salīdzināt ar operatoru ==.
Tomēr, ja struktūra satur laukus, kas nav salīdzināmi (piemēram, slices, kartes, funkcijas), tad tieša struktūras salīdzināšana radīs kompilācijas kļūdu.
Struktūru salīdzināšanas piemērs:
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
}
Ja struktūra satur laukus, kas nav salīdzināmi, ir nepieciešams izstrādāt savu salīdzināšanas funkciju, kas pārbauda elementus pa vienam un salīdzina tos.