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

Hoe krijg ik weer toegang tot de harde schijf? Los de fout op dat de harde schijf niet geopend kan worden.

Hoe krijg ik weer toegang tot de harde schijf? Los de fout op dat de harde schijf niet geopend kan worden.

In dit artikel leggen we je uit hoe je weer toegang krijgt tot je harde schijf als deze kapot is. Laten we het artikel volgen!

Hoe je gespreksbewustzijn en live luisteren op AirPods gebruikt

Hoe je gespreksbewustzijn en live luisteren op AirPods gebruikt

Op het eerste gezicht lijken AirPods op alle andere echt draadloze oordopjes. Maar dat veranderde allemaal toen een paar onbekende functies werden ontdekt.

Alles over iOS 26

Alles over iOS 26

Apple heeft iOS 26 geïntroduceerd: een grote update met een gloednieuw matglasontwerp, slimmere ervaringen en verbeteringen aan bekende apps.

De beste laptops voor studenten in 2025

De beste laptops voor studenten in 2025

Studenten hebben een specifiek type laptop nodig voor hun studie. Deze moet niet alleen krachtig genoeg zijn om goed te presteren in hun studierichting, maar ook compact en licht genoeg om de hele dag mee te nemen.

Een printer toevoegen aan Windows 10

Een printer toevoegen aan Windows 10

Het toevoegen van een printer aan Windows 10 is eenvoudig, hoewel het proces voor bekabelde apparaten anders is dan voor draadloze apparaten.

Hoe u het RAM-geheugen en RAM-fouten op uw computer met de hoogste nauwkeurigheid kunt controleren

Hoe u het RAM-geheugen en RAM-fouten op uw computer met de hoogste nauwkeurigheid kunt controleren

Zoals u weet, is RAM een zeer belangrijk hardwareonderdeel van een computer. Het fungeert als geheugen voor de verwerking van gegevens en is de factor die de snelheid van een laptop of pc bepaalt. In het onderstaande artikel laat WebTech360 u zien hoe u met behulp van software in Windows RAM-fouten kunt opsporen.

Verschil tussen gewone tv en smart-tv

Verschil tussen gewone tv en smart-tv

Smart-tv's hebben de wereld veroverd. Dankzij zoveel geweldige functies en internetverbinding heeft technologie de manier waarop we televisiekijken veranderd.

Waarom heeft de vriezer geen lampje, maar de koelkast wel?

Waarom heeft de vriezer geen lampje, maar de koelkast wel?

Koelkasten zijn vertrouwde apparaten in huishoudens. Koelkasten hebben meestal twee compartimenten. Het koelvak is ruim en heeft verlichting die automatisch aangaat wanneer de gebruiker het vak opent. Het vriesvak is smal en heeft geen verlichting.

2 manieren om netwerkcongestie te verhelpen die wifi vertraagt

2 manieren om netwerkcongestie te verhelpen die wifi vertraagt

Wi-Fi-netwerken worden niet alleen beïnvloed door routers, bandbreedte en interferentie, maar er zijn een aantal slimme manieren om uw netwerk te versterken.

Hoe u kunt downgraden van iOS 17 naar iOS 16 zonder gegevensverlies met Tenorshare Reiboot

Hoe u kunt downgraden van iOS 17 naar iOS 16 zonder gegevensverlies met Tenorshare Reiboot

Als u terug wilt naar de stabiele iOS 16 op uw telefoon, vindt u hier de basisgids voor het verwijderen van iOS 17 en downgraden van iOS 17 naar 16.

Wat gebeurt er met je lichaam als je elke dag yoghurt eet?

Wat gebeurt er met je lichaam als je elke dag yoghurt eet?

Yoghurt is een heerlijk voedingsmiddel. Is het goed om elke dag yoghurt te eten? Hoe verandert je lichaam als je elke dag yoghurt eet? Laten we het samen ontdekken!

Welk type rijst is het beste voor de gezondheid?

Welk type rijst is het beste voor de gezondheid?

In dit artikel worden de meest voedzame rijstsoorten besproken en hoe u de gezondheidsvoordelen van de rijst die u kiest, optimaal kunt benutten.

Hoe word je s ochtends op tijd wakker?

Hoe word je s ochtends op tijd wakker?

Een slaapschema en bedtijdroutine opstellen, uw wekker verzetten en uw dieet aanpassen zijn enkele maatregelen die u kunnen helpen om beter te slapen en 's ochtends op tijd wakker te worden.

Tips voor het spelen van Rent Please! Verhuurder Sim voor beginners

Tips voor het spelen van Rent Please! Verhuurder Sim voor beginners

Huren alstublieft! Landlord Sim is een simulatiespel voor mobiel op iOS en Android. Je speelt als verhuurder van een appartementencomplex en begint met het verhuren van een appartement. Je doel is om het interieur van je appartement te verbeteren en het gereed te maken voor huurders.

De nieuwste badkamertorenverdedigingscodes en hoe u deze invoert

De nieuwste badkamertorenverdedigingscodes en hoe u deze invoert

Ontvang de Roblox-gamecode voor Bathroom Tower Defense en wissel deze in voor geweldige beloningen. Ze helpen je bij het upgraden of ontgrendelen van torens met hogere schade.