Junior
Υπάρχει δυναμικός τύπος στο Go;
sobes.tech AI
Απάντηση από AI
Στη Go δεν υπάρχει δυναμικός τύπος με την κλασική έννοια. Η Go είναι μια γλώσσα με αυστηρό στατικό τύπο, όπου ο τύπος μιας μεταβλητής καθορίζεται κατά τη διάρκεια της μεταγλώττισης και δεν αλλάζει κατά την εκτέλεση.
Ωστόσο, στη Go υπάρχουν διεπαφές και ο τύπος interface{}, που επιτρέπει την εργασία με οποιοδήποτε τύπο δεδομένων, δημιουργώντας μια ορισμένη ευελιξία που μοιάζει με δυναμικό τύπο. Αλλά η εργασία με τέτοιες τιμές απαιτεί ρητή μετατροπή τύπου ή χρήση assertion τύπου.
Παράδειγμα χρήσης του κενό διεπαφής:
var x interface{}
x = 42
x = "σειρά"
// Για να αποκτήσετε έναν συγκεκριμένο τύπο, πρέπει να κάνετε μετατροπή:
if str, ok := x.(string); ok {
fmt.Println("Αυτή είναι μια σειρά:", str)
}