Funzioni in Go

In Go, le funzioni sono blocchi di codice che eseguono attività specifiche e possono essere riutilizzati nel programma per risparmiare memoria, migliorare la leggibilità e risparmiare tempo. Le funzioni Golang possono restituire o meno un valore al chiamante.

Funzioni in Go

Cose da sapere sulle funzioni in Golang

Per esempio:

package main
import "fmt"

// multiply() nhân 2 số nguyên và trả về kết quả
func multiply(a, b int) int {
    return a * b
}

func main() {
    result := multiply(5, 10)
    fmt.Printf("multiplication: %d", result)
}

Risultato:

multiplication: 50

Sintassi delle funzioni in Golang

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Dichiarazione di funzione

In Go, una funzione viene dichiarata con la parola chiave func, seguita da un nome, parametri e un tipo di ritorno facoltativo.

Sintassi

func function_name(Parameter-list)(Return_type) {
    // function body...
}

Esempio di funzione moltiplicazione

func multiply(a, b int) int {
    return a * b
}

func: parola chiave per dichiarare una funzione.
function_name: Il nome della funzione, ad esempio moltiplicare.
Elenco parametri: a, b int: i parametri insieme ai loro tipi.
Return_type: int specifica il tipo di ritorno.

Funzione di chiamata

Per utilizzare una funzione, è sufficiente chiamarla con il suo nome e con tutti gli argomenti necessari. Qui, multiply(5, 10) chiama la funzione con 5 e 10 come argomenti.

Per esempio

result := multiply(5, 10)
fmt.Printf("Result of multiplication: %d", result)

Argomenti della funzione

Go supporta due modi per passare parametri alle funzioni: chiamata per valore e chiamata per riferimento. Di default, Go utilizza la chiamata per valore, il che significa che i valori vengono copiati e le modifiche all'interno della funzione non influiscono sulle variabili del chiamante.

Chiama per valore

Nella chiamata per valore, i valori degli argomenti vengono copiati nei parametri della funzione, quindi le modifiche nella funzione non influiscono sulle variabili originali.

Per esempio:

package main
import "fmt"

func multiply(a, b int) int {
    a = a * 2 // chỉnh sửa bên trong hàm này
    return a * b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(x, y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Risultato:

Before: x = 5, y = 10
multiplication: 100
After: x = 5, y = 10

Chiamata per riferimento

Nella chiamata per riferimento, i puntatori vengono utilizzati in modo che le modifiche all'interno della funzione vengano riflesse nelle variabili del chiamante.

Per esempio:

package main
import "fmt"

func multiply(a, b *int) int {
    *a = *a * 2 // chỉnh sửa giá trị của a ở địa chỉ bộ nhớ của nó
    return *a * *b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(&x, &y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

Risultato

Before: x = 5, y = 10
multiplication: 100
After: x = 10, y = 10
Sign up and earn $1000 a day ⋙

Leave a Comment

Differenza tra TV normale e Smart TV

Differenza tra TV normale e Smart TV

Le smart TV hanno davvero preso d'assalto il mondo. Grazie alle sue numerose funzionalità e alla connettività Internet, la tecnologia ha cambiato il nostro modo di guardare la TV.

Perché il congelatore non ha la luce mentre il frigorifero sì?

Perché il congelatore non ha la luce mentre il frigorifero sì?

I frigoriferi sono elettrodomestici comuni nelle case. I frigoriferi hanno solitamente 2 scomparti: lo scomparto freddo è spazioso e ha una luce che si accende automaticamente ogni volta che l'utente lo apre, mentre lo scomparto congelatore è stretto e non ha luce.

2 modi per risolvere la congestione della rete che rallenta il Wi-Fi

2 modi per risolvere la congestione della rete che rallenta il Wi-Fi

Oltre ai router, alla larghezza di banda e alle interferenze, le reti Wi-Fi sono influenzate da molti fattori, ma esistono alcuni modi intelligenti per potenziare la propria rete.

Come eseguire il downgrade da iOS 17 a iOS 16 senza perdere dati utilizzando Tenorshare Reiboot

Come eseguire il downgrade da iOS 17 a iOS 16 senza perdere dati utilizzando Tenorshare Reiboot

Se vuoi tornare alla versione stabile di iOS 16 sul tuo telefono, ecco la guida di base per disinstallare iOS 17 ed effettuare il downgrade da iOS 17 a 16.

Cosa succede al corpo se mangi yogurt ogni giorno?

Cosa succede al corpo se mangi yogurt ogni giorno?

Lo yogurt è un alimento meraviglioso. Fa bene mangiare yogurt tutti i giorni? Se mangiassi yogurt ogni giorno, come cambierebbe il tuo corpo? Scopriamolo insieme!

Quale tipo di riso è migliore per la salute?

Quale tipo di riso è migliore per la salute?

In questo articolo vengono illustrati i tipi di riso più nutrienti e come sfruttare al massimo i benefici per la salute offerti dal tipo di riso scelto.

Come svegliarsi puntuali la mattina

Come svegliarsi puntuali la mattina

Tra le misure che possono aiutarti a dormire meglio e a svegliarti puntuale al mattino c'è quella di stabilire un orario per dormire e una routine per andare a dormire, cambiare la sveglia e modificare la tua dieta.

Suggerimenti per giocare a Rent Please! Simulazione del proprietario di casa per principianti

Suggerimenti per giocare a Rent Please! Simulazione del proprietario di casa per principianti

Affitto per favore! Landlord Sim è un gioco di simulazione per dispositivi mobili, disponibile per iOS e Android. Giocherai nei panni del proprietario di un complesso di appartamenti e inizierai ad affittare un appartamento con l'obiettivo di migliorarne gli interni e prepararli per gli inquilini.

Ultimi codici di difesa della torre del bagno e come inserirli

Ultimi codici di difesa della torre del bagno e come inserirli

Ottieni il codice del gioco Roblox Bathroom Tower Defense e riscattalo per ottenere fantastiche ricompense. Ti aiuteranno a potenziare o sbloccare torri con danni maggiori.

Struttura, simboli e principi di funzionamento dei trasformatori

Struttura, simboli e principi di funzionamento dei trasformatori

Impariamo a conoscere la struttura, i simboli e i principi di funzionamento dei trasformatori nel modo più accurato.

4 modi in cui lintelligenza artificiale sta migliorando le smart TV

4 modi in cui lintelligenza artificiale sta migliorando le smart TV

Dalla migliore qualità dell'immagine e del suono al controllo vocale e molto altro, queste funzionalità basate sull'intelligenza artificiale stanno rendendo le smart TV molto migliori!

Perché ChatGPT è migliore di DeepSeek

Perché ChatGPT è migliore di DeepSeek

Inizialmente le aspettative per DeepSeek erano alte. In quanto chatbot basato sull'intelligenza artificiale, pubblicizzato come un forte concorrente di ChatGPT, promette funzionalità ed esperienze di chat intelligenti.

Scopri Fireflies.ai: la segretaria AI gratuita che ti fa risparmiare ore di lavoro

Scopri Fireflies.ai: la segretaria AI gratuita che ti fa risparmiare ore di lavoro

È facile trascurare dettagli importanti quando si prendono appunti di altre cose essenziali, e cercare di prendere appunti mentre si chiacchiera può distrarre. Fireflies.ai è la soluzione.

Come allevare lAxolotl in Minecraft, addomesticare la Salamandra in Minecraft

Come allevare lAxolotl in Minecraft, addomesticare la Salamandra in Minecraft

Gli Axolot di Minecraft saranno degli ottimi aiutanti per i giocatori che operano sott'acqua, se sapranno come usarli.

A Quiet Place: The Road Ahead Configurazione del gioco per PC

A Quiet Place: The Road Ahead Configurazione del gioco per PC

La configurazione di A Quiet Place: The Road Ahead ha ricevuto recensioni piuttosto positive, quindi è opportuno valutarla attentamente prima di decidere di scaricarla.