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("Άγνωστος τύπος")
}