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

Non hai bisogno di più app Adobe Mobile: Adobe Express è lunica app di cui hai bisogno!

Non hai bisogno di più app Adobe Mobile: Adobe Express è lunica app di cui hai bisogno!

Adobe offre più di 4 app specifiche per l'editing fotografico sul telefono, ma sono tutte così simili che è difficile capire di quale hai realmente bisogno.

5 gadget che trasformano una TV normale in una smart

5 gadget che trasformano una TV normale in una smart

Anche una TV normale può imparare nuovi trucchi con qualche gadget e diventare migliore di una costosa smart TV nel giro di pochi minuti.

Come utilizzare il telecomando del condizionatore daria Panasonic

Come utilizzare il telecomando del condizionatore daria Panasonic

Utilizzare correttamente il telecomando del condizionatore Panasonic ci aiuterà a sfruttare al meglio le funzionalità del condizionatore.

Gemini lancia Talk Live per foto, file e YouTube

Gemini lancia Talk Live per foto, file e YouTube

Gemini Live ha aggiunto la funzionalità "Parla in diretta di" che verrà ora distribuita su larga scala sui dispositivi Android. In precedenza, Gemini Live accettava solo input vocali, ma "Talk Live about" ha ampliato i caricamenti di contenuti

Microsoft Copilot aggiornato con Deep Research

Microsoft Copilot aggiornato con Deep Research

Microsoft sta finalmente integrando la funzionalità Deep Research nella sua intelligenza artificiale Copilot. Consente agli utenti di condurre ricerche approfondite, articolate in più fasi, su qualsiasi argomento.

Come trasformare una foto in uno schizzo a matita in Photoshop

Come trasformare una foto in uno schizzo a matita in Photoshop

Questo tutorial ti mostrerà come trasformare facilmente una foto in uno schizzo a matita utilizzando Adobe Photoshop.

Funzioni volatili in Golang

Funzioni volatili in Golang

Le funzioni variadiche in Go consentono di passare un numero variabile di argomenti a una funzione. Ecco tutto ciò che devi sapere sulle funzioni volatili in Golang.

Come scrivere lettere colorate in Lien Quan Mobile

Come scrivere lettere colorate in Lien Quan Mobile

Per scrivere testo colorato in Lien Quan Mobile, segui le istruzioni in questo articolo. I caratteri colorati di LQ Mobile saranno più evidenti.

7 processi del Task Manager che non dovrebbero mai terminare

7 processi del Task Manager che non dovrebbero mai terminare

La sezione Processi di sistema di Windows, situata in fondo all'elenco in Gestione Attività di Windows 10, contiene diversi processi importanti, essenziali per il corretto funzionamento del computer.

Apple consente agli utenti di rimanere su iOS 15.7 prima di aggiornare a iOS 16

Apple consente agli utenti di rimanere su iOS 15.7 prima di aggiornare a iOS 16

Apple consente agli utenti di continuare a utilizzare iOS 15 continuando a ricevere gli aggiornamenti di sicurezza prima di effettuare l'aggiornamento a iOS 16.

I risultati della valutazione delle prestazioni delle CPU Intel Core Ultra 5 225H, Core Ultra 7 255H e Core Ultra 9 285H sono disponibili su Geekbench

I risultati della valutazione delle prestazioni delle CPU Intel Core Ultra 5 225H, Core Ultra 7 255H e Core Ultra 9 285H sono disponibili su Geekbench

Tre SKU della futura gamma di processori mobili Arrow Lake-H di Intel sono stati testati su Geekbench, rivelando prestazioni e specifiche single-core e multi-core davvero impressionanti.

Chi avrebbe mai pensato che il processo di produzione dei nostri comuni elastici fosse così complicato ed elaborato?

Chi avrebbe mai pensato che il processo di produzione dei nostri comuni elastici fosse così complicato ed elaborato?

Gli elastici sembrano semplici, ma il procedimento per realizzarli è più complicato di quanto si possa pensare. Di seguito è riportato l'intero processo per realizzare gli elastici.

9 fatti interessanti su Mercurio

9 fatti interessanti su Mercurio

Mercurio è il pianeta più piccolo del sistema solare ed è anche il pianeta più vicino al Sole. Mercurio orbita attorno al Sole a una velocità incredibilmente elevata, con una media di circa 106.000 miglia orarie. Questi sono solo alcuni dei tanti fatti interessanti su questo pianeta.

Quali sono le dimensioni dei televisori da 32 pollici, 40 pollici, 43 pollici e 55 pollici... di Sony, Samsung, LG?

Quali sono le dimensioni dei televisori da 32 pollici, 40 pollici, 43 pollici e 55 pollici... di Sony, Samsung, LG?

L'articolo seguente ti aiuterà a comprendere le dimensioni delle attuali linee TV di Sony, Samsung e LG, così potrai prendere la giusta decisione d'acquisto.

7 semplici accorgimenti tecnologici che migliorano drasticamente la qualità della tua vita

7 semplici accorgimenti tecnologici che migliorano drasticamente la qualità della tua vita

Creare un rapporto sano con la tecnologia può sembrare scoraggiante, ma spesso piccoli cambiamenti fanno una grande differenza.