初级会员
  • 第 9169 位会员
  • dong-hao
  • donghao
  • 2017-06-21 09:12:30
  • Offline
  • 29 37

最近发布的主题

    暂无

最近发布的文章

    暂无

最近分享的资源

    暂无

最近发布的项目

    暂无

最近的评论

  • 1 楼的代码可能有点问题,无缓冲区,可能会导致最后一条数据没来得及打印就退出。 楼主可以写的更简单一点,如下: ``` type Info struct { Name string Password string } func main() { userc := []string{"13362011111", "13362022222", "13362033333", "13362444444"} passc := []string{"123456", "000000"} limitChan := make(chan Info, 0) go func() { for _, user := range userc { for _, pass := range passc { limitChan <- Info{ Name: user, Password: pass, } } } close(limitChan) }() for v := range limitChan { fmt.Printf("%v,%v\n", v.Name, v.Password) } } ```
  • 你需要的是个超时机制,考虑下使用 select + time.Timer
  • 评论了主题 文件读取问题
    找到如何打印当前偏移量的方法了。题主可以在 ``` gzip.NewReader(fp) ``` 前后,分别执行一次 ``` pos1, _ := fp.Seek(0, io.SeekCurrent) fmt.Printf("pos1:%v\n", pos1) ``` 即可明确的得知,确实发生了 fp 的文件偏移量变化
  • 评论了主题 文件读取问题
    题主这个问题蛮好的。 1 我一开始的猜想是,经过了 ``` fz, fzEr :=gzip.NewReader(fp) ``` 的处理,fp 的文件读偏移量发生了变化,导致后续被 ``` reader = bufio.NewReader(fp) ``` 处理时,无法正常完成。调试时,却没有准确的信息以辅助分析 2 后来,在 ``` reader = bufio.NewReader(fp) ``` 之前加了一行 ``` fp.Seek(0, 0) ``` ,将 fp 的文件读偏移量显式的重置回起始处,发现可以正常打印了,看来确实是由于前一步的 ``` gzip.NewReader ``` 导致了发生偏移。 3 看了下 ``` gzip.NewReader ``` 的 相关文档, ``` // NewReader creates a new Reader reading the given reader. // If r does not also implement io.ByteReader, // the decompressor may read more data than necessary from r. ``` 只能说略有收货,不知道有没有人可以明确的指出偏移量是哪个参数
  • 评论了主题 任意结构JSON解析
    这是要把 json.Marshal 实现一遍吧