初级会员
  • 第 13164 位会员
  • imkos
  • 2017-10-12 07:21:52
  • Offline
  • 20 10

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 此文分析的说了半天,实在搞不懂跟逃逸分析 有什么关系,就一个&把变量地址共享,还牵出逃逸分析
  • 感觉内容写错了吧,&的作用是用来共享变量,而你上面V2取了地址了,为什么还要取一层地址,不是什么地址拷贝吧。看来你对golang的&不理解。 ```go func main() { u1 := createUserV1() u2 := createUserV2() println("u1", &u1, "u2", u2) } ``` createUserV2函数返回的就是共享变量的一个地址了. 基于你的例子改写的 https://play.golang.org/p/SK8bidoK5TY
  • 你可以 在main() 写进队, worker() 写出队, 就能得到你想要的 结果
  • chan 没一个值时, <- 出队操作 会阻塞等待的。容量 只会在进队 填满时 阻塞
  • 重新提交一下 ```go func DeCompress_zip(zipFile, dest_path string) error { reader, err := zip.OpenReader(zipFile) if err != nil { return err } defer reader.Close() DeCompress_to_dest := func(f *zip.File) error { rc, err := f.Open() if err != nil { return err } defer rc.Close() filename := dest_path + f.Name if err = os.MkdirAll(filepath.Dir(filename), 0755); err != nil { return err } w, err := os.Create(filename) if err != nil { return err } defer w.Close() _, err = io.Copy(w, rc) return err } for _, file := range reader.File { err := DeCompress_to_dest(file) if err != nil { return err } } return nil } ```