zoukankan      html  css  js  c++  java
  • 14_函数类型和回调函数

    1、定义一个函数类型:函数类型是定义一个函数接口,使具有相同参数、相同返回值的函数共同使用同一个借口
    2、 关键字用type定义

    3、声明一个函数类型,func 后面没有函数名,没有大括号



    例如:

    package main
    
    
    import "fmt"
    type Ftest func(int, int) int //这个时候就相当于一个数据类型(例如 int)
    //函数类型还可以作为另一个函数的参数进行传递
    func Test(a, b int, f Ftest) (res int) {
    	res = f(a, b)
    	return
    }
    
    
    //定义一个加法函数
    func Add(a, b int) (result int) {
    	result = a + b
    	return
    
    
    }
    
    
    //定义一个乘法
    func Mul(a, b int) (res int) {
    	res = a * b
    	return
    }
    
    
    func main() {
    
    
    	//通过传递函数参数,来调用函数使用
    	res1 := Test(2, 3, Add)
    	fmt.Println("测试结果为:", res1)
    	//多态的使用,利用多态可以使用一个函数类型变量,实现多个函数的功能,更加的便捷
    	var calc Ftest = Add //只需要把函数名赋值给函数类型变量即可
    	res := calc(1, 2)
    	fmt.Println("两个数和为:", res) //加法
    	calc = Mul
    	res2 := calc(1, 2)
    	fmt.Println("两个数乘积为:", res2)
    
    
    }


    运行结果:

                            

    每天的价值就是不停息的前进!!!
  • 相关阅读:
    nginx缓存实战
    单机编排之Docker Compose
    NGINX镜像的制作
    k8s的kube-proxy
    k8s应用环境
    k8s ansible部署部署文档
    部署docker镜像仓库及高可用
    openstack高可用集群20-openstack计算节点宕机迁移方案
    openstack 租户控制台修改虚拟机账户密码
    如何修改openstack虚拟机密码
  • 原文地址:https://www.cnblogs.com/zhaopp/p/11439319.html
Copyright © 2011-2022 走看看