Sobes.tech
Junior — Middle

Ποια είναι η λειτουργία του τελεστή `*` στη γλώσσα Go, ειδικά σε σχέση με τους δείκτες;

sobes.tech AI

Απάντηση από AI

Στη γλώσσα Go, ο τελεστής * χρησιμοποιείται για εργασία με δείκτες και εκτελεί δύο βασικές λειτουργίες:

  1. Αποαναφορά δείκτη — λήψη της τιμής στην οποία δείχνει ο δείκτης.

  2. Δήλωση δείκτη — κατά τη δήλωση μιας μεταβλητής με *, δηλώνεται ότι είναι δείκτης σε έναν τύπο.

Παράδειγμα:

var a int = 10
var p *int = &a  // p είναι δείκτης σε a
fmt.Println(*p)   // εμφανίζει 10 — την τιμή στην οποία δείχνει ο δείκτης

*p = 20           // αλλάζουμε την τιμή του a μέσω του δείκτη
fmt.Println(a)    // εμφανίζει 20

Έτσι, το * επιτρέπει την εργασία με διευθύνσεις και τιμές στη μνήμη, παρέχοντας χαμηλού επιπέδου έλεγχο στα δεδομένα.