Golang io / ioutil NopCloser

有人对Golang的NopCloser功能有很好的解释吗?

我环顾四周,但除了Golang主文档对以下内容的解释外,没有找到其他内容:

NopCloser返回带有无操作Close方法的ReadCloser,该方法包装提供的Reader r。

任何指示或解释将不胜感激。谢谢。

回答:

每当需要返回时io.ReadCloser,同时确保Close()可用,则可以使用NopCloser来构建这样的ReaderCloser。

您可以在此gorest分支中看到一个示例,在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

}

以上是 Golang io / ioutil NopCloser 的全部内容, 来源链接: utcz.com/qa/434591.html

回到顶部