初级会员
  • 第 9013 位会员
  • 1034992601
  • 2017-06-17 12:21:59
  • Offline
  • 19 72

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • #2 @javasgl 你说的在func前面加上一个defer, 那样的话func里面的内容其实是在main执行结束前才会运行, 没有达到想要的效果, ``` go { a() defer内容 b() c() } ``` 想要的是a()运行之后就要运行defer, 而不是运行b(),c()之后才去运行defer, 说白了就是快速的释放一些东西
  • #2 @javasgl 你说的在func前面加上一个defer, 那样的话func里面的内容其实是在main执行结束前才会运行, 没有达到想要的效果, ```go { a() defer内容 b() c() } ``` 想要的是a()运行之后就要运行defer, 而不是运行b(),c()之后才去运行defer, 说白了就是快速的释放一些东西
  • ```go func main() { //1 func() { defer func() { fmt.Println("func: defer runs") }() fmt.Println("func: ends") }() fmt.Println("main: ends") } ``` 按你这样写的话也有问题,一般会在//1处加上业务代码,如果出错了下面是运行不到的,如果将defer的func放前面, 业务代码还没有 运行又作了回收工作 我感觉defer用久了,感觉越来越不敢乱用了
  • 好家伙
  • 原来有个error 就是 sql.ErrNoRows