golang 支持自定义数据类型,基本语法为:
type 自定义数据类型名 数据类型
比如 type testInt int
这时 testInt
就等价于 int
来使用.
再比如复杂一点我们可以自定义一个函数数据类型,如下:
package main
import "fmt"
type MyFunType = func(a, b int) int
func myFun2(funVar MyFunType, num1 int, num2 int) int {
return funVar(num1, num2)
}
func getSum(a, b int) int {
return a + b
}
func main() {
//x := myFun2(getSum, 30, 10)
var x int = myFun2(getSum, 30, 10)
fmt.Printf("值 = %v", x)
}
示例结果