# Multiple Return Values

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

```go
// 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`.
