gpt4 book ai didi

go - "wrap it in a bufio.NewReader if it doesn' t 支持ReadByte"模式

转载 作者:IT王子 更新时间:2023-10-29 01:51:18 27 4
gpt4 key购买 nike

<分区>

以下是 Go 库之一的片段。谁能指出 r.(byteReader) 的重要性?语法用法对新手来说不是很明显。 byteReader是定义好的接口(interface),好像不是io.Reader的成员。因为,这似乎是某种漂亮的代码,任何人都可以提供一些见解。

作者提到:“如果它不支持 ReadByte,请将其包装在 bufio.NewReader 中”模式。 https://github.com/dave-andersen/deltagolomb/blob/master/deltagolomb.go

type byteReader interface {
io.Reader
ReadByte() (c byte, err error)
}

func makeReader(r io.Reader) byteReader {
if rr, ok := r.(byteReader); ok {
return rr
}
return bufio.NewReader(r)
}

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com