Funzioni volatili in Golang

Le funzioni variadiche in Go consentono di passare un numero variabile di argomenti a una funzione. Questa funzionalità è utile quando non si sa in anticipo quanti argomenti verranno passati. Una funzione variadica di Golang  accetta più argomenti dello stesso tipo e può essere chiamata con un numero qualsiasi di argomenti, anche nessuno.

Funzioni volatili in Golang

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

Risultato:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

Sintassi:

func functionName(parameters ...Type) ReturnType {
    // Code
}

Nella sintassi sopra:

  • parameters ...Typeindica che la funzione può accettare un numero variabile di argomenti di tipo Type.
  • È possibile accedere agli argomenti di una funzione come se fossero una slice.

Come utilizzare le funzioni incerte in Golang

Utilizzo delle funzioni Variadiche

Quando si definisce una funzione variadica, si specifica il tipo di argomento seguito da puntini di sospensione (...), come nell'esempio precedente. All'interno della funzione, questi argomenti possono essere considerati come una porzione.

Chiamata di una funzione variadica

È possibile richiamare una funzione variadica con un numero qualsiasi di argomenti, incluso zero. Questa funzione tratta gli argomenti come una fetta.

Per esempio:

package main
import "fmt"

func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

func main() {
    fmt.Println("Sum of 1, 2, 3:", sum(1, 2, 3))
    fmt.Println("Sum of 4, 5:", sum(4, 5))
    fmt.Println("Sum of no numbers:", sum())
}

Risultato:

Sum of 1, 2, 3: 6
Sum of 4, 5: 9
Sum of no numbers: 0

Funzione variadica con parametri diversi

È anche possibile combinare parametri variadici con parametri regolari in una funzione. I parametri variadici devono essere sempre l'ultimo parametro.

Per esempio:

package main
import "fmt"

// Hàm Variadic tính tổng
func sum(nums ...int) int {
    total := 0
    for _, n := range nums {
        total += n
    }
    return total
}

// Hàm với tham số thông thường và variadic 
func greet(prefix string, nums ...int) {
    fmt.Println(prefix)
    for _, n := range nums {
        fmt.Println("Number:", n)
    }
}
func main() {
    greet("Sum of numbers:", 1, 2, 3)
    greet("Another sum:", 4, 5)
    greet("No numbers sum:")
}

Risultato:

Sum of numbers:
Number: 1
Number: 2
Number: 3
Another sum:
Number: 4
Number: 5
No numbers sum:

Limitazioni delle funzioni variadiche

  • Le funzioni variadiche possono avere un solo parametro variadico e questo deve essere l'ultimo parametro.
  • Non è possibile avere più parametri variadici in una singola definizione di funzione.
Sign up and earn $1000 a day ⋙

Leave a Comment

I migliori laptop per studenti nel 2025

I migliori laptop per studenti nel 2025

Gli studenti hanno bisogno di un tipo specifico di portatile per i loro studi. Non solo deve essere abbastanza potente da essere adatto al corso di laurea scelto, ma anche compatto e leggero da poter essere portato con sé tutto il giorno.

Come aggiungere una stampante a Windows 10

Come aggiungere una stampante a Windows 10

Aggiungere una stampante a Windows 10 è semplice, anche se la procedura per i dispositivi cablati sarà diversa da quella per i dispositivi wireless.

Come controllare la RAM e gli errori RAM sul tuo computer con la massima precisione

Come controllare la RAM e gli errori RAM sul tuo computer con la massima precisione

Come sapete, la RAM è una componente hardware molto importante in un computer: funge da memoria per l'elaborazione dei dati ed è il fattore che determina la velocità di un laptop o di un PC. Nell'articolo seguente, WebTech360 vi illustrerà alcuni metodi per verificare la presenza di errori nella RAM utilizzando un software su Windows.

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.