桑帅东的博客
首页 留言 友情链接 壁纸
更多
关于
1 dockerfile怎么执行shell脚本(利用tail -f /dev/null命令防止container启动后退出) 5,068 阅读 2 channel常见的异常总结 4,291 阅读 3 支付宝支付配置开发流程 1,458 阅读 4 HTTP 协议中的Content-Encoding 1,307 阅读 5 Laravel底层原理(二) —— 契约(Contracts) 963 阅读
PHP
composer laravel swoole
Docker Linux Go 随笔 mysql nginx
标签搜索
  • kratos
  • golang
  • 微服务
  • gopher
  • PHP
  • Docker
  • dockerfile
  • 通道
  • go
  • defer
  • alipay
  • 支付
  • git
  • phpstorm
  • IDEA
  • web安全
  • 漏洞
  • socket
  • 设计原则
  • 依赖注入
侧边栏壁纸
博主昵称
Royal

  • 累计撰写 51 篇文章
  • 累计收到 0 条评论
  • 首页
  • 栏目
    • PHP
      • composer
      • laravel
      • swoole
    • Docker
    • Linux
    • Go
    • 随笔
    • mysql
    • nginx
  • 页面
    • 留言
    • 友情链接
    • 壁纸
    • 关于
搜索到 1 篇与 go 的结果
  • 延迟调用(defer) Golang延迟调用:defer特性:关键字 defer 用于注册延迟调用。这些调用直到 return 前才被执。因此,可以用来做资源清理。多个defer语句,按先进后出的方式执行。defer语句中的变量,在defer声明时就决定了。defer用途:关闭文件句柄锁资源释放数据库连接释放go语言 defergo 语言的defer功能强大,对于资源管理非常方便,但是如果没用好,也会有陷阱。defer 是先进后出这个很自然,后面的语句会依赖前面的资源,因此如果先前面的资源先释放了,后面的语句就没法执行了。package main import "fmt" func main() { var whatever [5]struct{} for i := range whatever { defer fmt.Println(i) } }输出结果:432 10defer 与 returnpackage main import "fmt" func foo() (i int) { i = 0 defer func() { fmt.Println(i) }() return 2 } func main() { foo() }输出结果:2解释:在有具名返回值的函数中(这里具名返回值为 i),执行 return 2 的时候实际上已经将 i 的值重新赋值为 2。所以defer closure 输出结果为 2 而不是 1。
    • 2021年04月25日
    • 211 阅读
    • 0 评论
    • 0 点赞
博主栏壁纸
博主头像 Royal

51 文章数
0 评论量
热门文章
  1. 1 dockerfile怎么执行shell脚本(利用tail -f /dev/null命令防止container启动后退出)
    dockerfile怎么执行shell脚本(利用tail -f /dev/null命令防止container启动后退出)
    5068 阅读 - 04/18
  2. 2 channel常见的异常总结
    channel常见的异常总结
    4291 阅读 - 04/23
  3. 3 支付宝支付配置开发流程
    支付宝支付配置开发流程
    1458 阅读 - 05/14
豫公网安备41108102000743号          豫ICP备2021011697号-1