Sobes.tech
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.