# 1. Introduction

Determining the largest among a set of numbers is a fundamental programming problem that helps beginners understand conditional structures. In this guide, we'll create a Go program to identify the largest number among the three provided inputs.

# 2. Program Overview

Our Go program is architected to:

1. Request the user to input three distinct numbers.

2. Evaluate and identify the largest among the three numbers.

3. Present the determined largest number to the user.

# 3. Code Program

``````// Initiation of our Go program is marked by the main package declaration.
package main

// We integrate the fmt package for managing input and output operations.
import "fmt"

// Function to ascertain the largest among three integers.
func findLargest(x, y, z int) int {
if x > y {
if x > z {
return x
} else {
return z
}
} else {
if y > z {
return y
} else {
return z
}
}
}

// The main function is the entryway to our program's execution.
func main() {
var a, b, c int

// We solicit the user to provide three numbers.
fmt.Print("Enter three numbers separated by spaces: ")
fmt.Scan(&a, &b, &c)

// The largest among the three numbers is determined and then displayed.
fmt.Printf("The largest number among %d, %d, and %d is: %d\n", a, b, c, findLargest(a, b, c))
}
``````

### Output:

```For instance, if the user provides the numbers 12, 29, 7, the output of the program would be:
The largest number among 12, 29, and 7 is: 29
```

# 4. Step By Step Explanation

1. Package and Import Directives: We initiate with package main indicating our program's start. The fmt package is adopted for I/O functionalities.

2. Function to Determine the Largest Number: The findLargest function takes in three integers. Through nested conditional statements, it discerns the largest among them.

3. Variable Initialization: Three integer variables (a, b, c) are declared to capture the user's input.

4. Gathering User Input: Using fmt.Print, a prompt is rendered, and the user's input is gathered using fmt.Scan.

5. Computing and Showcasing the Result: The findLargest function is summoned with the user's inputs, and the outcome is presented using fmt.Printf.