【GO】函数:匿名函数

简介: 【GO】函数:匿名函数

代码

匿名函数的应用场景

一次性的调用

有必要的代码封装

应用案例:defer 和 go

defer的应用场景


defer是一个延迟执行的指令。这个在之前的defer延迟执行学习过了,不能忘记哦!


defer会在所有程序运行结束后执行,假如有多个defer谁在最后谁先执行


这个应用场景就是延迟执行一个匿名函数 ,这个函数需要进行简单的封装,但是又不进行复用,所有就直接使用匿名函数即可

屏幕快照 2022-05-18 下午7.45.24.png屏幕快照 2022-05-18 下午7.45.33.png

package main
import (
  "fmt"
  "time"
)
/**
认识匿名函数
*/
func main01() {
  // 匿名函数
  sum := func(a, b int) int {
    return a + b
  }(3, 4)
  fmt.Println(sum)
}
/**
defer的应用场景
*/
func main02() {
  // 这里的defer只是一个简单的输出,假如是很多的业务逻辑需要处理
  // 但又不需要单独封装的话,就需要使用defer来做这件事情喽!
  //defer fmt.Println("我是最后一个执行的")
  defer func(count int) {
    for i := 0; i <= count; i++ {
      fmt.Println("咔咔手赚网的地址是:fangkang.top")
      fmt.Println("咔咔博客的地址是:blog.fangkang.top")
    }
  }(3)
  // 在之前的学习过程中呢!我们学习过这个defer指的是延迟执行
  fmt.Println("一二三四五")
  fmt.Println("咔咔手赚网")
  fmt.Println("咔咔博客")
  fmt.Println("fangkang.top")
}
/**
go的应用场景
*/
func main() {
  // go就是并发执行
  go func() {
    for i := 2; i <= 10; i += 2 {
      fmt.Println("我是并发协程", i)
      time.Sleep(time.Second)
    }
  }()
  for i := 0; i < 5; i++ {
    fmt.Println(i)
    // 等待秒钟执行
    time.Sleep(time.Second)
  }
}
相关文章
|
10天前
|
Go
go函数
go函数
30 10
|
5月前
|
存储 算法 Go
go语言中的延迟执行函数
【5月更文挑战第13天】`defer`是Go语言中用于延迟执行函数的关键字,尤其适用于资源管理,如文件关闭和锁的释放。它在函数返回前按照LIFO顺序执行,确保资源在任何返回路径下都能正确释放。`defer`可以拦截`panic`并在函数返回前执行,但无法阻止某些致命的`panic`。此外,`defer`可用于修改返回值、输出调试信息和还原变量值。尽管在某些场景下可能影响性能,但Go的优化使得其在多数情况下性能表现良好,特别是在资源清理方面。在Go 1.20及以后的版本,`defer`的性能已显著提升,尤其是在高计算量的场景下。
265 2
|
6天前
|
编译器 Go C++
Go to Learn Go之函数
Go to Learn Go之函数
10 0
|
8天前
|
编译器 Go 索引
Go数组、多维数组和切片(动态数组),及常用函数len(),cap(),copy(),append()在切片中的使用
本文介绍了Go语言中数组、多维数组和切片(动态数组)的基本概念和操作,包括数组的定义、初始化、访问,多维数组的定义和访问,以及切片的创建、使用和扩容。同时,还讲解了切片中常用的函数len()、cap()、copy()和append()的使用方法。
|
2月前
|
Prometheus Cloud Native Go
Go 1.22 标准库 slices 新增函数和一些旧函数增加新特性
Go 1.22 标准库 slices 新增函数和一些旧函数增加新特性
|
2月前
|
安全 编译器 Go
Go 1.21: 泛型函数的全面回顾
Go 1.21: 泛型函数的全面回顾
|
2月前
|
Go
深入理解 Go 中的 new() 和 make() 函数
深入理解 Go 中的 new() 和 make() 函数
|
2月前
|
设计模式 Java 数据库连接
|
2月前
|
Go 开发者
|
2月前
|
存储 机器学习/深度学习 设计模式
Go从入门到放弃之函数
Go从入门到放弃之函数
下一篇
无影云桌面