当前位置: 首页 > news >正文

寺庙网站建设杭州有哪些外资企业招聘

寺庙网站建设,杭州有哪些外资企业招聘,邯郸网站建设推荐咨询,石家庄企业网站defer 是 Go 语言中的一个关键字,用于延迟执行某个函数或语句,直到包含它的函数返回时才执行。defer 语句在函数执行结束后(无论是正常返回还是由于 panic 返回)都将执行。 defer 的基本用法 延迟执行: 当你在一个函数…

defer 是 Go 语言中的一个关键字,用于延迟执行某个函数或语句,直到包含它的函数返回时才执行。defer 语句在函数执行结束后(无论是正常返回还是由于 panic 返回)都将执行。

defer 的基本用法

  1. 延迟执行: 当你在一个函数内调用 defer 语句,后面的语句将被推迟到该函数执行结束时执行。

    package mainimport "fmt"func main() {defer fmt.Println("这是最后执行的语句")fmt.Println("这是先执行的语句")
    }
    

    输出:

    这是先执行的语句
    这是最后执行的语句
    
  2. 多个 defer 语句: 如果一个函数中有多个 defer 语句,它们会按照后进先出(LIFO)的顺序执行。

    package mainimport "fmt"func main() {defer fmt.Println("第一个 defer")defer fmt.Println("第二个 defer")defer fmt.Println("第三个 defer")fmt.Println("主函数中的代码")
    }
    

    输出:

    主函数中的代码
    第三个 defer
    第二个 defer
    第一个 defer
    

  3. 传递参数: 在 defer 语句中传递参数时,参数在 defer 被调用时就会被评估,而不是在执行时。

    package mainimport "fmt"func main() {for i := 0; i < 3; i++ {defer fmt.Println(i) // 这里的 i 会被延迟执行}
    }
    

    输出:

    2
    1
    0
    

    如果在 defer 语句中直接使用 i 的值而不是它的引用,结果会是这样的。

defer 的常见用途

  1. 资源清理defer 常用于释放资源,如关闭文件、数据库连接等。这样可以确保即使在函数中发生错误时,资源仍然能被正确释放。

    package mainimport ("fmt""os"
    )func main() {file, err := os.Open("example.txt")if err != nil {fmt.Println("打开文件错误:", err)return}defer file.Close() // 确保文件在函数结束时被关闭// 处理文件...
    }
    

  2. 错误处理: 结合 recover 使用,可以处理 panic 并进行错误处理。

    package mainimport "fmt"func recoverFromPanic() {defer func() {if r := recover(); r != nil {fmt.Println("捕获到 panic:", r)}}()panic("发生了错误") // 触发 panic
    }func main() {recoverFromPanic()fmt.Println("程序继续运行")
    }
    

  3. 函数执行时间测量: 可以使用 defer 来测量函数执行时间。

    package mainimport ("fmt""time"
    )func main() {start := time.Now()defer func() {fmt.Println("函数执行时间:", time.Since(start))}()// 模拟耗时操作time.Sleep(2 * time.Second)
    }
    

总结

defer 是 Go 语言中一个强大且灵活的工具,适用于资源管理、错误处理和其他需要在函数返回时执

http://www.laogonggong.com/news/65739.html

相关文章:

  • 三亚房产做公示是什么网站wordpress恢复密码
  • 梧州网站建设廊坊企业自助建站
  • 网站404页面源码国内外c2c网站有哪些
  • 查看邮箱注册的网站远程教育网站建设
  • 国外优秀的html5网站注册私人网站
  • 网站开发二线城市html5炫酷的网站
  • icp备案综合查询网站wordpress s
  • 配件查询网站制作怎么做卖辅助网站
  • 制作公司网站流程网站制作是不是要先用ps做
  • 免费空间做自己的网站招远网站制作
  • 可信网站认证购买湘潭做网站价格找磐石网络一流
  • 怎样做酒店网站ppt模板wordpress实现多重筛选
  • 松江网站建设博客网站开发的语言有什么软件
  • 做设计接单的网站南宁做网站seo
  • 衡水专业网站制作郴州旅游攻略
  • 深圳网站建设raygf网站建设招标方式
  • 网站流量不正常中国制造网简介
  • 客户做网站要退款越南的网站建设
  • 公司网站定制如何理解网络营销环境
  • 做疏通什么网站推广好学网站建设要多长时间
  • 广州手机建站模板项目网络进度图
  • 做域名代理网站宁波网站建设推荐荣盛网络好
  • 企业网站服务器的选择东莞营销网站制作
  • 网站怎样在360做优化wampserver搭建网站
  • 网站建设服务报价中国兰州网首页
  • 做商城网站会不会被攻击注册商标名字
  • 网页标准化对网站开发维护所有者的好处企业建站的作用是什么
  • 大连网站平台研发做平台外卖的网站需要什么资质
  • 培训网站推广p2p网站建设价格
  • 福永网站的建设网络科技公司logo设计