Sobes.tech
Junior — Middle

Πώς μπορεί να προσδιοριστεί ο συγκεκριμένος τύπος ενός αντικειμένου που υλοποιεί μια διεπαφή;

sobes.tech AI

Απάντηση από AI

Στη γλώσσα Go, για τον προσδιορισμό ενός αντικειμένου συγκεκριμένου τύπου που υλοποιεί μια διεπαφή, χρησιμοποιείται η δήλωση τύπου (type assertion) ή η δομή switch τύπου (type switch).

Παράδειγμα με δήλωση τύπου:

var i interface{} = someInterfaceValue
if v, ok := i.(ConcreteType); ok {
    // v έχει τύπο ConcreteType
    fmt.Println("Αυτό είναι το ConcreteType", v)
} else {
    fmt.Println("Άλλος τύπος")
}

Παράδειγμα με switch τύπου:

switch v := i.(type) {
case ConcreteType:
    fmt.Println("Αυτό είναι το ConcreteType", v)
case AnotherType:
    fmt.Println("Αυτό είναι το AnotherType", v)
default:
    fmt.Println("Άγνωστος τύπος")
}