Open In App

Golang Program that uses func as Local Variable

Function performs a specific task, section of code that defined once can be reused. Functions are used to make your code easier to understand by breaking it into small and understandable tasks.Functions are also known as method, sub-routine, or procedure.

General form of a function definition in Go programming language is given below-



func function_name( [parameter list] ) [return_types]
{
   body of the function
}

A function definition in Go programming language, here define some parts of a function-

To call a function, it needs to pass the required parameters along with its function name. This function takes two parameters number1 and number2 and returns the maximum value between the two?



Example




package main
  
import "fmt"
  
func main() {
  
    // local variable definition
    var x int = 150
    var y int = 360
    var ret int
  
    // calling a function to get max value
    // and storing its value in a variable
    ret = max(x, y)
  
    fmt.Printf("Maximum value is : %d\n", ret)
}
  
// function returning the max between two numbers
func max(number1, number2 int) int {
  
    var result int
  
    if number1 > number2 {
        result = number1
    } else {
        result = number2
    }
    return result
}

Output:

Maximum value is : 360

We can pass the func variable as an argument to a method which requires a func argument as shown in the below example




// Golang program that uses func
// as a local variable
package main
  
import (
    "fmt"
    "strings"
)
  
func main() {
  
    // assigning function f to a variable f1
    f1 := func(f rune) bool {
  
        // Return true if underscore
        // or space rune.
        return f == '_' ||
            f == ' '
    }
  
    val := "geeks1 geeks2"
  
    // Pass func object to IndexFunc method.
    // Here f1 is a function argument
    finalresult := strings.IndexFunc(val, f1)
    fmt.Println(finalresult)
  
    val = "geeks1_geeks2"
    finalresult = strings.IndexFunc(val, f1)
    fmt.Println(finalresult)
}

Output:

6
6

Article Tags :