Vluchtige functies in Golang

Met variabele functies in Go kunt u een variabel aantal argumenten aan een functie doorgeven. Deze functie is handig als u niet van tevoren weet hoeveel argumenten u gaat doorgeven. Een variadische functie van Golang  accepteert meerdere argumenten van hetzelfde type en kan met een willekeurig aantal argumenten worden aangeroepen, ook zonder.

Vluchtige functies 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())
}

Resultaat:

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

Syntaxis:

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

In de bovenstaande syntaxis:

  • parameters ...Typegeeft aan dat de functie een variabel aantal argumenten van het type Type kan accepteren.
  • U kunt argumenten in een functie benaderen als een slice.

Hoe onzekere functies in Golang te gebruiken

Variadic-functies gebruiken

Wanneer u een variadische functie definieert, geeft u het argumenttype op, gevolgd door een weglatingsteken (...), zoals in het bovenstaande voorbeeld. Binnen de functie kunnen deze argumenten worden beschouwd als een slice.

Een variadische functie aanroepen

U kunt een variadische functie aanroepen met een willekeurig aantal argumenten, ook nul. Deze functie behandelt de argumenten als een slice.

Bijvoorbeeld:

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())
}

Resultaat:

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

Variadische functie met verschillende parameters

Je kunt variabele parameters ook combineren met reguliere parameters in een functie. Variadische parameters moeten altijd de laatste parameter zijn.

Bijvoorbeeld:

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:")
}

Resultaat:

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

Beperkingen van Variadische functies

  • Variadische functies kunnen slechts één variadische parameter hebben en dit moet de laatste parameter zijn.
  • Er kunnen niet meerdere variabele parameters in één functiedefinitie voorkomen.
Sign up and earn $1000 a day ⋙

Leave a Comment

Wat is een gemengd getal?

Wat is een gemengd getal?

Een gemengd getal is een combinatie van een geheel getal en een breuk. Het breukdeel van een gemengd getal is altijd kleiner dan 1.

Tips om te reizen als een rijk persoon

Tips om te reizen als een rijk persoon

Moet u een beperkt budget hebben als het om reizen gaat? Maak je geen zorgen, want dankzij de tips van een beroemde reisadviseur kun je reizen als een rijk persoon.

7 beste Obsidian-plugins voor mobiel

7 beste Obsidian-plugins voor mobiel

Ze hebben niet alleen de interface aangepast en ervoor gezorgd dat Obsidian efficiënter werkt, maar bieden je ook een uitgebreidere set aan tools om notities te maken.

Hoe je een wazig extern scherm kunt repareren

Hoe je een wazig extern scherm kunt repareren

Een donker extern beeldscherm kan de productiviteit verstoren en oogvermoeidheid veroorzaken. Gelukkig zijn er verschillende dingen die je kunt doen om een ​​wazig scherm te verhelpen!

Waar komen de symbolen voor mannelijk en vrouwelijk vandaan?

Waar komen de symbolen voor mannelijk en vrouwelijk vandaan?

De betekenis van populaire mannelijke en vrouwelijke symbolen is tegenwoordig mogelijk niet bij iedereen bekend. Laten we meer leren over mannelijke en vrouwelijke symbolen!

Wetenschappers hebben de mysterieuze geschiedenis van zwarte gaten ontrafeld

Wetenschappers hebben de mysterieuze geschiedenis van zwarte gaten ontrafeld

Een van de meest voorkomende misvattingen over zwarte gaten is dat ze niet alleen materie opslokken, maar ook de geschiedenis van die materie. De waarheid over de geschiedenis van zwarte gaten is eindelijk onthuld.

U hebt geen meerdere Adobe Mobile-apps nodig, Adobe Express is de enige app die u nodig hebt!

U hebt geen meerdere Adobe Mobile-apps nodig, Adobe Express is de enige app die u nodig hebt!

Adobe biedt meer dan 4 specifieke fotobewerkingsprogramma's aan voor de telefoon. Deze lijken allemaal zo op elkaar dat het moeilijk is te bepalen welke jij nu echt nodig hebt.

5 gadgets die van een gewone tv een slimme tv maken

5 gadgets die van een gewone tv een slimme tv maken

Een gewone televisie kan met een paar gadgets nog steeds nieuwe trucjes leren en binnen enkele minuten beter worden dan een dure smart-tv.

Hoe u de afstandsbediening van uw Panasonic airconditioner gebruikt

Hoe u de afstandsbediening van uw Panasonic airconditioner gebruikt

Als u de afstandsbediening van uw Panasonic-airconditioner goed gebruikt, kunt u optimaal profiteren van de functies van de airconditioner.

Gemini introduceert Talk Live voor fotos, bestanden en YouTube

Gemini introduceert Talk Live voor fotos, bestanden en YouTube

Gemini Live heeft een 'Praat live over'-functie toegevoegd en wordt nu breder uitgerold op Android-apparaten. Voorheen accepteerde Gemini Live alleen spraakinvoer, maar 'Praat Live over' heeft de mogelijkheden voor het uploaden van content uitgebreid

Microsoft Copilot geüpgraded met diepgaand onderzoek

Microsoft Copilot geüpgraded met diepgaand onderzoek

Microsoft voegt eindelijk Deep Research-functionaliteit toe aan hun Copilot AI. Hiermee kunnen gebruikers grondig, meerstapsonderzoek doen naar elk onderwerp.

Hoe je een foto in Photoshop in een potloodschets verandert

Hoe je een foto in Photoshop in een potloodschets verandert

In deze tutorial leert u hoe u met behulp van Adobe Photoshop eenvoudig een foto kunt omzetten in een potloodschets.

Vluchtige functies in Golang

Vluchtige functies in Golang

Met variabele functies in Go kunt u een variabel aantal argumenten aan een functie doorgeven. Hier vindt u alles wat u moet weten over vluchtige functies in Golang.

Hoe schrijf je gekleurde letters in Lien Quan Mobile

Hoe schrijf je gekleurde letters in Lien Quan Mobile

Om gekleurde tekst in Lien Quan Mobile te schrijven, volgt u de instructies in dit artikel. De gekleurde karakters van LQ Mobile zullen meer opvallen.

7 Taakbeheerprocessen die nooit mogen stoppen

7 Taakbeheerprocessen die nooit mogen stoppen

Het gedeelte Windows-systeemprocessen, onderaan de lijst in Windows 10 Taakbeheer, bevat diverse belangrijke processen die essentieel zijn om uw computer goed te laten werken.