Go语言函数变量教程
在 中, 也是一种类型,可以和其他 一样保存在 中。
Go语言函数变量详解
定义
func fun() { } var f func() f = fun
说明
我们首先定义了一个 fun 的函数,接着我们声明了一个类型是 func 的函数变量 f,并且将 fun 函数赋值给变量 f。
Go语言带参数的函数变量详解
定义
func fun(int)string { } var f func(int) string f = fun
说明
我们首先定义了一个 fun 的函数,函数的 为一个 的参数, 函数的 为一个 类型的值,接着我们声明了同样类型的函数变量 f,并且将 fun 函数赋值给变量 f。
案例
Go语言函数变量
Go 语言函数也是一种类型,可以保存在变量中
package main import ( "fmt" ) func printSep(){ fmt.Println("=========================") } func main() { fmt.Println("嗨客网(www.haicoder.net)") //Go语言函数也是一种类型,可以保存在变量中 var f func() f = printSep f() }
程序运行后,控制台输出如下:
我们定义了一个函数 printSep,该函数没有任何的参数和返回值。接着在 main() 函数里面,我们声明了一个 func 类型的变量 f,并且将 printSep 赋值给 f,最后使用 f() 的形式调用函数。
这里 f() 的形式调用函数,其实就相当于 printSep() 这样调用函数。
Go语言带参数的函数变量
Go 语言带参数的函数变量,定义的函数变量原型需与函数一致
package main import ( "fmt" ) func sum(a, b int)int{ return a + b } func main() { fmt.Println("嗨客网(www.haicoder.net)") //Go语言带参数的函数变量,定义的函数变量原型需与函数一致 var f func(int, int)int f = sum retSum := f(10, 20) fmt.Println("retSum =", retSum) }
程序运行后,控制台输出如下:
我们定义了一个函数 sum,该函数传入两个 int 类型的参数返回一个 int 类型的返回值,实现了求两个数的和。
接着在 main() 函数里面,我们声明了一个 func(int, int)int 类型的变量 f,并且将 sum 赋值给 f,最后使用 f(10, 20) 的形式调用函数。这里 f(10, 20) 的形式调用函数,其实就相当于 sum(10, 20) 这样调用函数。
Go语言函数参数变量总结
在 Go 语言中,函数也是一种类型,可以和其他数据类型一样保存在变量中。Go 语言函数变量语法:
func fun() { } var f func() f = fun
Go 语言带参数的函数变量定义:
func fun(int)string { } var f func(int) string f = fun