Sobes.tech
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 απαιτεί ρητή δήλωση και λειτουργεί μόνο για συμβατούς τύπους.