Returning Values from a Function
  When a function needs to hand a result back to its caller, you
      must:
- Declare the type of the value it will return (for example int, string, and so on) immediately after the parameter list.
- Include a return statement inside the function body to send the desired value back.
  Template:
  func FunctionName(param1 type, param2 type) returnType {
// perform operations here
return value
}
// perform operations here
return value
}
Example 1:
  package main
import "fmt"
// add returns the sum of two integers.
func add(x, y int) int {
return x + y
}
func main() {
fmt.Println(add(1, 2))
}
import "fmt"
// add returns the sum of two integers.
func add(x, y int) int {
return x + y
}
func main() {
fmt.Println(add(1, 2))
}
Example 2:
package main
  
    import "fmt"
  
  
    // sum demonstrates a named return value.
  
  
    // The returned integer is named `total`, so we can use a “naked”
      return.
  
  
    func sum(a, b int) (total int) {
  
  
     total = a + b
  
  
     return
  
  }
  func main() {
  
     fmt.Println(sum(1, 2))
        // Output: 3
  
  }
  Example 3:
package main
    
      import "fmt"
    
    
      // add returns the sum of x and y.
    
    
      func add(x, y int) (sum int) {
    
    
       sum = x + y
    
    
       return
          // naked return: 'sum' is returned automatically
    
    }
    func main() {
    
       fmt.Println(add(1, 2))
    
    }   
Storing Return Values in Variables
- In Go, you can store a function's return value in a variable.
Example:
      Here, the return value is stored in a variable named total:
    
    package main
    
      import "fmt"
    
    
      func myFunction(x int, y int) (result int) {
    
    
       result = x + y
    
    
       return
    
    }
    func main() {
    
       total := myFunction(1,
          2)
    
    
       fmt.Println(total)
    
    }
Multiple Return Values
- Go functions can return more than one value.
Example:
      This function returns an integer and a string:
    
    package main
    import "fmt"
    
      func myFunction(x int, y string) (int, string) {
    
    
       return x + x, y + "
          World!"
    
    }
    func main() {
    
       fmt.Println(myFunction(5, "Hello"))
    
    }
    Output:
10 Hello World!
Storing Multiple Return Values
- You can store multiple return values in separate variables:
Example:
package main
    
      import "fmt"
    
    
      func myFunction(x int, y string) (int, string) {
    
    
       return x + x, y + "
          World!"
    
    }
    func main() {
    
       a, b := myFunction(5,
          "Hello")
    
    
       fmt.Println(a, b)
    
    }
    Output:
10 Hello World!
Ignoring Return Values
- If you don’t need all return values, use an underscore (_) to ignore one.
Example: Ignore the first value
package main
    
      import "fmt"
    
    
      func myFunction(x int, y string) (int, string) {
    
    
       return x + x, y + "
          World!"
    
    }
    func main() {
    
       _, b := myFunction(5,
          "Hello")
    
    
       fmt.Println(b)
    
    }
    Output:
Hello World!
    Example: Ignore the second value
package main
    
      import "fmt"
    
    
      func myFunction(x int, y string) (int, string) {
    
    
       return x + x, y + "
          World!"
    
    }
    func main() {
    
       a, _ := myFunction(5,
          "Hello")
    
    
       fmt.Println(a)
    
    }
    Output:
10
    More topic in Go
