dsfhe34889 2015-01-26 21:22
浏览 1282
已采纳

Golang io / ioutil NopCloser

Does anyone have a good or any explanation of Golang's NopCloser function?
I looked around but failed to find anything besides Golang's main doc's explanation of:

NopCloser returns a ReadCloser with a no-op Close method wrapping the provided Reader r.

Any pointers or explanation would be appreciated. Thanks.

  • 写回答

2条回答 默认 最新

  • dpp3047 2015-01-26 21:31
    关注

    Whenever you need to return an io.ReadCloser, while making sure a Close() is available, you can use a NopCloser to build such a ReaderCloser.

    You can see one example in this fork of gorest, in util.go

    //Marshals the data in interface i into a byte slice, using the Marhaller/Unmarshaller specified in mime.
    //The Marhaller/Unmarshaller must have been registered before using gorest.RegisterMarshaller
    func InterfaceToBytes(i interface{}, mime string) (io.ReadCloser, error) {
        v := reflect.ValueOf(i)
        if v.Kind() == reflect.Ptr {
            v = v.Elem()
        }
        switch v.Kind() {
        case reflect.Bool:
            x := v.Bool()
            if x {
                return ioutil.NopCloser(bytes.NewBuffer([]byte("true"))), nil
            }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 程序不包含适用于入口点的静态Main方法
  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记