Menu
Coddy logo textTech

Usare i puntatori nelle funzioni

Fa parte della sezione Fondamenti del percorso GO di Coddy. Lezione 64 di 109.

Le funzioni possono accettare e modificare le variabili tramite i puntatori. Questo consente alle funzioni di modificare il valore originale, non solo una copia.

Crea una funzione che modifica un valore tramite un puntatore:

func main() {
    number := 10
    fmt.Println("Before:", number)
    
    // Pasa la dirección de number
    doubleValue(&number)
    
    fmt.Println("After:", number)
}

func doubleValue(num *int) {
    // Modifica el valor en la dirección del puntero
    *num = *num * 2
}

L'output mostra il valore modificato dalla funzione:

Before: 10
After: 20

Quando passiamo &number, la funzione riceve un puntatore e può modificare la variabile originale.

challenge icon

Sfida

Principiante

In questa sfida, ti eserciterai a usare i puntatori nelle funzioni. Devi completare una funzione che accetta un puntatore a una stringa e modifica il valore della stringa rendendolo maiuscolo.

La funzione makeUppercase è già definita. Il tuo compito è modificare la stringa a cui punta il puntatore usando la funzione strings.ToUpper().

Provalo tu

package main

import (
	"fmt"
	"strings"
)

// makeUppercase riceve un puntatore a una stringa e la converte in maiuscolo
func makeUppercase(strPtr *string) {
	// TODO: Usa strings.ToUpper() per modificare la stringa a cui punta strPtr
	// Suggerimento: devi dereferenziare il puntatore per accedere al valore della stringa
	? = strings.ToUpper(?)
	
}

func main() {
	// Abbiamo già una variabile stringa
	message := "hello, world"
	
	// Stampa il messaggio originale
	fmt.Printf("Original message: %s\n", message)
	
	// Chiama makeUppercase con l'indirizzo di message
	makeUppercase(&message)
	
	// Stampa il messaggio modificato
	fmt.Printf("Modified message: %s\n", message)
}
quiz iconMettiti alla prova

Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.

Tutte le lezioni di Fondamenti

Esercitati da solo: Compilatore Go online