Menu
Coddy logo textTech

Nuova funzione

Lezione 3 di 19 del corso Funzioni e puntatori in Golang di Coddy.

Nelle lezioni precedenti, abbiamo imparato che le variabili sono oggetti o spazi in memoria con un nome che punta a quello spazio.

In Go, abbiamo una funzione che crea uno spazio senza nome in memoria, e lo facciamo con l'aiuto della funzione new(). La sintassi è la seguente:

coddy := new(string)

Qui abbiamo creato un oggetto con il nome coddy e di tipo string, e la funzione new() restituisce un puntatore a quell'oggetto (spazio).

Se stampiamo il nome, otterremo l'indirizzo di memoria di questo spazio:

fmt.Println("Value:", coddy)

Il risultato sarà:

Value: 0xc000014070

Possiamo riassegnare un valore a questo puntatore così:

coddy := new(string)
*coddy = "Learn To Code with coddy"
fmt.Println("Value:", *coddy)

Il risultato sarà:

Value: Learn To Code with coddy

Nota che quando creiamo puntatori con la funzione new(), il valore predefinito non è nil. Dipende dal tipo, proprio come per le variabili. Se il tipo è int, il valore predefinito è 0; per string, è una stringa vuota; e per boolean, è false.

challenge icon

Sfida

Facile

Scrivi un programma che riceva un input dall'utente ed esegua le seguenti operazioni:

  1. Crea un puntatore di tipo int usando la funzione new().
  2. Stampa il valore predefinito del puntatore.
  3. Assegna a quel puntatore il valore inserito dall'utente.
  4. Stampa il valore del puntatore dopo l'assegnazione.

Provalo tu

package main

import (
	"fmt"
)

func main() {
	// Acquisisci l'input dall'utente. Non modificare questa parte!
	var num int
	fmt.Scanln(&num)

	// Crea un puntatore di tipo int usando la funzione new().
 

	// Stampa il valore predefinito del puntatore.
    fmt.Println("Default value of the pointer:", ?)

	// Assegna a quel puntatore il valore inserito dall'utente
 

	// Stampa il valore del puntatore dopo l'assegnazione.
    fmt.Println("Value of the pointer after assignment:", ?)
}

Tutte le lezioni di Funzioni e puntatori in Golang

Esercitati da solo: Compilatore Go online