Bruce Blog Bruce Blog
首页
  • CentOS
  • Ubuntu-Debian
  • 系统网络
  • 系统辅助工具
  • MySQL
  • Redis
  • Mongodb
  • Docker基础
  • Container基础
  • Kubernetes

    • Kubernetes基础
    • Kubernetes辅助
  • Container-Network
  • Jenkins
  • Gitlab
  • ArgoCD
  • Ansible
  • Terraform
  • AWS
  • MQ
  • NGINX
  • JumpServer
  • 基础
  • 函数模块
  • 框架
  • 基础

    • Golang环境
    • 语法
    • 数据类型与运算符
    • 分支语句
    • 循环语句
    • 数组
    • 切片
    • Map
    • String
    • 函数
    • 包的管理
    • 指针
    • 结构体
    • Go语言中的OOP
    • 方法和接口
    • 错误处理
  • Go进阶

    • Go进阶
  • Go框架

    • Go框架
  • Golang辅助

    • Golang辅助
  • CSS
  • HTML
  • JavaScript
  • 前端辅助
  • 常用命令
  • 性能监控工具
  • Windows下Docker使用
  • 日常学习
  • 其他导航

Bruce Tao

运维界的该溜子
首页
  • CentOS
  • Ubuntu-Debian
  • 系统网络
  • 系统辅助工具
  • MySQL
  • Redis
  • Mongodb
  • Docker基础
  • Container基础
  • Kubernetes

    • Kubernetes基础
    • Kubernetes辅助
  • Container-Network
  • Jenkins
  • Gitlab
  • ArgoCD
  • Ansible
  • Terraform
  • AWS
  • MQ
  • NGINX
  • JumpServer
  • 基础
  • 函数模块
  • 框架
  • 基础

    • Golang环境
    • 语法
    • 数据类型与运算符
    • 分支语句
    • 循环语句
    • 数组
    • 切片
    • Map
    • String
    • 函数
    • 包的管理
    • 指针
    • 结构体
    • Go语言中的OOP
    • 方法和接口
    • 错误处理
  • Go进阶

    • Go进阶
  • Go框架

    • Go框架
  • Golang辅助

    • Golang辅助
  • CSS
  • HTML
  • JavaScript
  • 前端辅助
  • 常用命令
  • 性能监控工具
  • Windows下Docker使用
  • 日常学习
  • 其他导航
  • 基础

    • Golang环境

    • 语法

    • 数据类型与运算符

    • 分支语句

    • 循环语句

    • 数组

    • 切片

    • Map

    • String

    • 函数

      • 函数
      • 函数的使用
      • 函数的参数
      • 函数的返回值
      • return语句
      • 函数中变量作用域
      • 递归函数
      • defer语句
      • 函数的数据类型
      • 函数的本质
      • 匿名函数
      • 回调函数
        • 闭包
      • 包的管理

      • 指针

      • 结构体

      • Go语言中的OOP

      • 方法和接口

      • 错误处理

    • Go进阶

    • Go框架

    • Golang辅助

    • Golang
    • 基础
    • 函数
    Bruce
    2022-10-27
    目录

    回调函数

    # 一、回调函数

    # 示例代码
    package main
    
    import "fmt"
    
    func main() {
    	/*
    		高阶函数:
    			根据go语言的数据类型的特点,可以将函数作为另一个函数的参数.
    
    		fun1(),fun2()
    		将fun1函数作为fun2这个函数的参数.
    			fun2函数: 就叫高阶函数
    				接收了一个函数作为参数的函数,高阶函数
    			fun2函数: 回调函数
    				作为另一个函数的参数的函数,叫做回调函数
    	*/
    	//设计一个函数,用于求两个函数的加减乘数运算
    	fmt.Printf("%T\n", add)  // func(int, int) int
    	fmt.Printf("%T\n", oper) // func(int, int, func(int, int) int) int
    	res1 := add(1, 2)
    	fmt.Println(res1)
    
    	res2 := oper(10, 20, add)
    	fmt.Println(res2)
    
    	res3 := oper(5, 2, sub)
    	fmt.Println(res3)
    
    	fun1 := func(a, b int) int {
    		return a * b
    	}
    
    	res4 := oper(10, 4, fun1)
    	fmt.Println(res4)
    
    	res5 := oper(100, 8, func(a, b int) int {
    		if b == 0 {
    			fmt.Println("被除数不能为零...")
    			return 0
    		}
    		return a / b
    	})
    	fmt.Println(res5)
    }
    
    // oper高阶函数
    func oper(a, b int, fun func(int, int) int) int {
    	fmt.Println(a, b, fun) //打印3个参数
    	res := fun(a, b)
    	return res
    }
    
    //加法运算
    func add(a, b int) int {
    	return a + b
    }
    
    //减法运算
    func sub(a, b int) int {
    	return a - b
    }
    
    
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    上次更新: 2024/04/09, 16:48:42
    匿名函数
    闭包

    ← 匿名函数 闭包→

    最近更新
    01
    AWS NAT-NetWork-Firwalld配置(一)
    04-09
    02
    AWS NAT-NetWork-Firwalld配置(二)
    04-09
    03
    kubernetes部署minio对象存储
    01-18
    更多文章>
    Theme by Vdoing | Copyright © 2019-2024 Bruce Tao Blog Space | MIT License
    • 跟随系统
    • 浅色模式
    • 深色模式
    • 阅读模式