Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Passing Variable Number of Arguments into Functions | Arrays and Slices
Introduction to GoLang
course content

Course Content

Introduction to GoLang

Introduction to GoLang

1. Getting Started
2. Data Types
3. Control Structures
4. Functions
5. Arrays and Slices
6. Intro to Structs & Maps

Passing Variable Number of Arguments into Functions

In the previous section, we explored functions; however, we didn't delve into a specific type of function called variadic functions. These are functions that can accept a variable number of arguments. Now that we have some understanding of arrays, let's take a closer look at variadic functions.

Variadic functions are a special type of function that can accept a variable number of arguments. The syntax for declaring a variadic function is as follows:

To define a variadic function, we use the ... syntax followed by the variable's type. For example:

In this example, myFunction is a variadic function that can accept any number of integer arguments. The term args in this context represents an array containing all the arguments passed to the function, making it effectively an array of type int.

For instance, we can create a function called sum that accepts a variable number of int numbers and returns the sum of those numbers:

go

index

copy
12345678910111213141516
package main import "fmt" func sum(args ...int) int { var total int = 0 for i := 0; i < len(args); i++ { total += args[i] } return total } func main() { fmt.Println(sum(1, 2, 3)) // Output: 6 fmt.Println(sum(2, 5, 7, 9, 12)) // Output: 35 fmt.Println(sum(47, 100, 121, 50)) // Output: 318 }

Everything was clear?

Section 5. Chapter 7
We're sorry to hear that something went wrong. What happened?
some-alt