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.

Lascia un commento

Come smaltire una bombola del gas a Verona: restituzione, sicurezza e contatti utili

Come smaltire una bombola del gas a Verona: restituzione, sicurezza e contatti utili

A Verona le bombole del gas non vanno nei cassonetti né, di regola, all’ecocentro: AMIA indica fornitori e rivenditori autorizzati. Ecco come procedere in sicurezza.

Come smaltire una power bank gonfia a Ravenna: cosa fare e dove portarla in sicurezza

Come smaltire una power bank gonfia a Ravenna: cosa fare e dove portarla in sicurezza

Power bank gonfia a Ravenna: come metterla in sicurezza, dove conferirla nelle Stazioni Ecologiche Hera e quali errori evitare con una batteria al litio danneggiata.

Come smaltire uno smartphone a Palermo: RAEE, negozi e centri di raccolta

Come smaltire uno smartphone a Palermo: RAEE, negozi e centri di raccolta

Come smaltire correttamente uno smartphone a Palermo: CCR RAP, ritiro 1 contro 1 e 1 contro 0, preparazione del telefono e casi particolari.

Come smaltire un materasso a Napoli? Guida pratica tra ritiro, isole ecologiche e riuso

Come smaltire un materasso a Napoli? Guida pratica tra ritiro, isole ecologiche e riuso

Scopri come smaltire un materasso a Napoli: ritiro ASIA, isole ecologiche, preparazione, limiti del servizio e controlli da fare prima della consegna.

Patente scaduta: quanto tempo si ha per rinnovarla e quando serve la prova di guida

Patente scaduta: quanto tempo si ha per rinnovarla e quando serve la prova di guida

Patente scaduta in Italia: scopri se esiste un termine per il rinnovo, quando non puoi guidare e cosa cambia dopo oltre cinque anni di scadenza.

Come smaltire un portatile a Palermo: CCR e ritiro RAP

Come smaltire un portatile a Palermo: CCR e ritiro RAP

Scopri come smaltire un portatile a Palermo: riuso, consegna ai CCR RAP, ritiro gratuito su appuntamento e consigli per cancellare i dati personali.

Power bank gonfia a Torino: come smaltirla in sicurezza e dove portarla

Power bank gonfia a Torino: come smaltirla in sicurezza e dove portarla

Power bank gonfia a Torino? Ecco cosa fare subito, cosa evitare, quando chiamare i soccorsi e come conferirla correttamente nei Centri di Raccolta Amiat.

Come smaltire un divano a Palermo: ritiro RAP e centri di raccolta

Come smaltire un divano a Palermo: ritiro RAP e centri di raccolta

Scopri come liberarti di un divano a Palermo: ritiro gratuito RAP su appuntamento, conferimento ai CCR, limiti, orari e regole da verificare.

Come smaltire le bombolette spray a Messina: guida pratica per non sbagliare

Come smaltire le bombolette spray a Messina: guida pratica per non sbagliare

Come smaltire le bombolette spray a Messina: metalli se vuote, attenzione ai residui pericolosi, centri di raccolta, orari aggiornati e controlli utili.

Come smaltire una lavatrice a Modena: ritiro, centri di raccolta e ritiro del rivenditore

Come smaltire una lavatrice a Modena: ritiro, centri di raccolta e ritiro del rivenditore

Guida pratica per smaltire una lavatrice a Modena: RAEE, ritiro gratuito Hera, stazioni ecologiche, ritiro uno contro uno e errori da evitare.