Junior — Middle
Ποια είναι η λειτουργία του τελεστή `*` στη γλώσσα Go, ειδικά σε σχέση με τους δείκτες;
sobes.tech AI
Απάντηση από AI
Στη γλώσσα Go, ο τελεστής * χρησιμοποιείται για εργασία με δείκτες και εκτελεί δύο βασικές λειτουργίες:
-
Αποαναφορά δείκτη — λήψη της τιμής στην οποία δείχνει ο δείκτης.
-
Δήλωση δείκτη — κατά τη δήλωση μιας μεταβλητής με
*, δηλώνεται ότι είναι δείκτης σε έναν τύπο.
Παράδειγμα:
var a int = 10
var p *int = &a // p είναι δείκτης σε a
fmt.Println(*p) // εμφανίζει 10 — την τιμή στην οποία δείχνει ο δείκτης
*p = 20 // αλλάζουμε την τιμή του a μέσω του δείκτη
fmt.Println(a) // εμφανίζει 20
Έτσι, το * επιτρέπει την εργασία με διευθύνσεις και τιμές στη μνήμη, παρέχοντας χαμηλού επιπέδου έλεγχο στα δεδομένα.