Multiple Return Values

This Go program demonstrates the use of a function that returns multiple values.

// Importing the "fmt" package, which provides functions for formatted I/O.
import "fmt"

// Function vals returns two integers (3 and 7).
func vals() (int, int) {
    return 3, 7
}

// The main function, which serves as the entry point for the program.
func main() {
    // Calling the vals function and receiving two return values (a and b).
    a, b := vals()

    // Printing the value of variable 'a'.
    fmt.Println(a)

    // Printing the value of variable 'b'.
    fmt.Println(b)

    // Calling the vals function again, but using the blank identifier "_" to discard the first return value.
    // Only the second return value is assigned to variable 'c'.
    _, c := vals()

    // Printing the value of variable 'c'.
    fmt.Println(c)
}

Output

3
7
7

Now, let's break down the code and explain each part:

  1. Function Declaration:

    • vals() (int, int): This function returns two integers, 3 and 7.

  2. Main Function:

    • main(): This is the entry point of the program.

    • a, b := vals(): Calls the vals function and receives two return values (3 and 7), which are assigned to variables a and b.

    • fmt.Println(a): Prints the value of variable a.

    • fmt.Println(b): Prints the value of variable b.

    • _, c := vals(): Calls the vals function again, but uses the blank identifier "_" to discard the first return value. The second return value (7) is assigned to variable c.

    • fmt.Println(c): Prints the value of variable c.

Last updated