package main
import "fmt"
#################################################################################################
type shichangdi2 func(string)(int)
可以这样定义函数格式的类型,即相同输入输出值的函数都为此类型
同时也可以这样定义函数的额传入传出类型,即:
func test1(hehe shichangdi2){
var shi string
hehe(shi)
}
func test2(string2 string)(int) {
fmt.Println("君不见,黄河之水天上来,奔流到海不复回")
var shi int
return shi
}
func test3(string2 string)(int) {
fmt.Println("君不见,高堂明镜悲白发,朝如青丝暮成雪")
var shi int
return shi
}
func main() {
//a := "10"
test1(test2)
test1(test3)
}
输出结果:
这样可以以所有传入传出类型都一样的函数作为参数传入此函数。即test2和test3的传入传出类型一样,但是函数体可以不同。