Junior — Middle
Μπορεί να πραγματοποιηθεί μετατροπή τύπων μεταξύ διαφορετικών τύπων δεδομένων στη γλώσσα Go;
sobes.tech AI
Απάντηση από AI
Στη γλώσσα Go, είναι δυνατή η μετατροπή τύπων, αλλά είναι αυστηρή και ασφαλής. Η μετατροπή είναι δυνατή μεταξύ συμβατών τύπων, για παράδειγμα, μεταξύ αριθμητικών τύπων (int, float64 κ.λπ.) ή μεταξύ τύπων με την ίδια δομή (π.χ., προσαρμοσμένοι τύποι βασισμένοι σε βασικούς τύπους). Δεν μπορείτε απλώς να μετατρέψετε, για παράδειγμα, μια συμβολοσειρά σε αριθμό, χωρίς ρητή μετατροπή.
Παράδειγμα μετατροπής αριθμητικών τύπων:
var a int = 42
var b float64 = float64(a) // ρητή μετατροπή από int σε float64
Επίσης, μπορείτε να μετατρέψετε διεπαφές σε συγκεκριμένους τύπους μέσω assertion τύπου:
var i interface{} = "γεια"
str, ok := i.(string)
if ok {
fmt.Println(str)
}
Έτσι, η μετατροπή τύπων στη Go απαιτεί ρητή δήλωση και λειτουργεί μόνο για συμβατούς τύπους.