Using functions in Go language is a common operation. Functions are defined as a type in Go language and can be passed as a parameter to other functions or as a The return value is returned to the caller. The definition format of a function in the Go language is as follows:
func 函数名(参数列表) 返回值类型 { // 函数体 return 返回值 }
When using a function, it can be defined through the keyword func
. The parameter list contains the parameters of the function, and the return value type indicates the return of the function. data type. When calling a function, you can call it directly through the function name, pass parameters, and get the return value.
In the Go language, a function can also be used as a type, which can be assigned to a variable, passed as a parameter, or even returned to the caller as a return value. Specifically how to use functions as parameters to pass to other functions, a code example is provided below.
package main import "fmt" func add(a, b int) int { return a + b } func subtract(a, b int) int { return a - b } func calculate(fn func(int, int) int, a, b int) int { return fn(a, b) } func main() { a, b := 10, 5 sum := calculate(add, a, b) diff := calculate(subtract, a, b) fmt.Printf("10 + 5 = %d ", sum) fmt.Printf("10 - 5 = %d ", diff) }
In the above code, two functions add
and subtract
are first defined to perform addition and subtraction operations. Then a calculate
function is defined, which receives a function as a parameter and performs calculation operations by calling the passed in function. In the main
function, by passing the add
and subtract
functions as parameters to the calculate
function, the function of calling different functions for calculation is realized .
Through the above examples, we can see how to use functions as parameters in the Go language, which expands the flexibility and reusability of functions, making the code more concise and easier to maintain.
The above is the detailed content of How to use fn function in Go language. For more information, please follow other related articles on the PHP Chinese website!