io

package
v0.0.10 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 18, 2020 License: GPL-3.0 Imports: 9 Imported by: 2

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CopyBuffer

func CopyBuffer(dst io.Writer, src io.Reader, buf []byte) (written int64, err error)

CopyBuffer 類似 io.copyBuffer 不過 不會調用 WriteTo/ReaderFrom 所以可以放心的在 WriteTo/ReaderFrom的實現中 調用此函數

func NewSafeWriter

func NewSafeWriter(w io.Writer) io.Writer

NewSafeWriter . Deprecated:

func ReadAll

func ReadAll(r io.Reader, b []byte) (e error)

ReadAll . Deprecated:

func ReadAllEx

func ReadAllEx(r io.Reader, b []byte) (pos int, e error)

ReadAllEx . Deprecated:

func ReadCloser

func ReadCloser(src io.ReadCloser) io.ReadCloser

ReadCloser 包裝 io.ReadCloser 保證 其只 實現了 io.ReadCloser 接口

func ReadContext

func ReadContext(ctx context.Context, r io.Reader, b []byte) (n int, e error)

ReadContext read with Context

func ReadWriteCloser

func ReadWriteCloser(src io.ReadWriteCloser) io.ReadWriteCloser

ReadWriteCloser 包裝 io.ReadWriteCloser 保證其只 實現了 io.ReadWriteCloser 接口

func Reader

func Reader(src io.Reader) io.Reader

Reader 包裝 io.Reader 保證 其只 實現了 io.Reader 接口

func WriteAll

func WriteAll(w io.Writer, b []byte) (e error)

WriteAll . Deprecated:

func WriteAllEx

func WriteAllEx(w io.Writer, b []byte) (pos int, e error)

WriteAllEx . Deprecated:

func WriteCloser

func WriteCloser(src io.WriteCloser) io.WriteCloser

WriteCloser 包裝 io.WriteCloser 保證其只 實現了 io.WriteCloser 接口

func WriteContext

func WriteContext(ctx context.Context, w io.Writer, b []byte) (n int, e error)

WriteContext write with Context

func Writer

func Writer(src io.Writer) io.Writer

Writer 包裝 io.Writer 保證其只 實現了 io.Writer 接口

Types

type BufferReader

type BufferReader interface {
	io.Reader
	// 返回 緩衝區
	ReaderBuffer() []byte
	// 返回 緩衝區中 已經緩存的 數據 不會讀出
	ReaderCache() []byte
	// 返回 當前 緩存 偏移
	ReaderOffset() int
}

BufferReader 帶 緩衝區 的 reader

func NewBufferReader

func NewBufferReader(r io.Reader, buffer []byte) BufferReader

NewBufferReader 將 io.Reader 包裝成爲一個 帶緩衝區的 Reader 如果 len(buffer) == 0 則 不帶緩衝區 ReadCache/ReadBuffer 函數始終返回 nil BufferReader 不是 goroutine 安全的

func NewBufferReaderCached

func NewBufferReaderCached(r io.Reader, buffer []byte, cached int) BufferReader

NewBufferReaderCached 類似 NewBufferReader 不過將 buffer[:cached] 作爲已緩存 數據 如果 cached > len(buffer) 將整個 buffer 作爲 已緩存 數據

type BufferWriter

type BufferWriter interface {
	io.Writer
	// 返回 緩衝區
	WriterBuffer() []byte
	// 返回 緩衝區中 已經緩存的 數據
	WriterCache() []byte
	// 返回 當前 緩存 偏移
	WriterOffset() int
	// 刷新 寫入緩存
	// 對於 io.WriteCloser 在 Close前 應該要 調用 WriterFlush 將緩衝區內容 寫入到 io.Writer 中
	WriterFlush() (int, error)
}

BufferWriter 帶 緩衝區 的 reader

func NewBufferWriter

func NewBufferWriter(w io.Writer, buffer []byte) BufferWriter

NewBufferWriter 將 io.Writer 包裝成爲一個 帶緩衝區的 Writer 如果 len(buffer) == 0 則 不帶緩衝區 WriteCache/WriteBuffer 函數始終返回 nil BufferWriter 不是 goroutine 安全的

func NewBufferWriterCached

func NewBufferWriterCached(w io.Writer, buffer []byte, cached int) BufferWriter

NewBufferWriterCached 類似 NewBufferWriter 不過將 buffer[:cached] 作爲已緩存 數據 如果 cached > len(buffer) 將整個 buffer 作爲 已緩存 數據

type InputReader

type InputReader struct {
	In      *bufio.Reader
	Out     io.Writer
	Err     io.Writer
	OutLine int
	ErrLine int
}

InputReader 獲取 用戶 輸入

func NewInputReader

func NewInputReader() *InputReader

NewInputReader 從 os.Stdin os.Stdout os.Stderr 創建 用戶 輸入 reader

func NewInputReader3

func NewInputReader3(r io.Reader, out, err io.Writer) *InputReader

NewInputReader3 創建 用戶 輸入 reader

func (*InputReader) Eprint added in v0.0.2

func (r *InputReader) Eprint(a ...interface{}) (n int, err error)

Eprint fmt.Fprint(r.Err, a...)

func (*InputReader) EprintLine added in v0.0.6

func (r *InputReader) EprintLine(a ...interface{}) (n int, err error)

EprintLine \r and fmt.Fprint(r.Err, a...)

func (*InputReader) Eprintf added in v0.0.2

func (r *InputReader) Eprintf(format string, a ...interface{}) (n int, err error)

Eprintf fmt.Fprintln(r.Err, a...)

func (*InputReader) EprintfLine added in v0.0.6

func (r *InputReader) EprintfLine(format string, a ...interface{}) (n int, err error)

EprintfLine \n and fmt.Fprintln(r.Err, a...)

func (*InputReader) Eprintln added in v0.0.2

func (r *InputReader) Eprintln(a ...interface{}) (n int, err error)

Eprintln fmt.Fprintln(r.Err, a...)

func (*InputReader) EprintlnLine added in v0.0.6

func (r *InputReader) EprintlnLine(a ...interface{}) (n int, err error)

EprintlnLine \n and fmt.Fprintln(r.Err, a...)

func (*InputReader) Print added in v0.0.2

func (r *InputReader) Print(a ...interface{}) (n int, err error)

Print fmt.Fprint(r.Out, a...)

func (*InputReader) PrintLine added in v0.0.6

func (r *InputReader) PrintLine(a ...interface{}) (n int, err error)

PrintLine \r and fmt.Fprint(r.Out, a...)

func (*InputReader) Printf added in v0.0.2

func (r *InputReader) Printf(format string, a ...interface{}) (n int, err error)

Printf fmt.Fprintln(r.Out, a...)

func (*InputReader) PrintfLine added in v0.0.6

func (r *InputReader) PrintfLine(format string, a ...interface{}) (n int, err error)

PrintfLine \r and fmt.Fprintf(r.Out, a...)

func (*InputReader) Println added in v0.0.2

func (r *InputReader) Println(a ...interface{}) (n int, err error)

Println fmt.Fprintln(r.Out, a...)

func (*InputReader) PrintlnLine added in v0.0.6

func (r *InputReader) PrintlnLine(a ...interface{}) (n int, err error)

PrintlnLine \r and fmt.Fprintln(r.Out, a...)

func (*InputReader) ReadBool

func (r *InputReader) ReadBool(placeholder string) (val bool)

ReadBool 等待用戶 輸入 bool

func (*InputReader) ReadBoolDefault

func (r *InputReader) ReadBoolDefault(placeholder string, def bool) (val bool)

ReadBoolDefault 等待用戶 輸入 bool

func (*InputReader) ReadNumber added in v0.0.3

func (r *InputReader) ReadNumber(placeholder string) (val int64)

ReadNumber 等待用戶 輸入 數字

func (*InputReader) ReadNumberDefault added in v0.0.3

func (r *InputReader) ReadNumberDefault(placeholder string, def int64) (val int64)

ReadNumberDefault 等待用戶 輸入 數字

func (*InputReader) ReadString

func (r *InputReader) ReadString(placeholder string) (val string)

ReadString 等待用戶 輸入字符串

func (*InputReader) ReadStringDefault

func (r *InputReader) ReadStringDefault(placeholder, def string) (val string)

ReadStringDefault 等待用戶 輸入字符串

Directories

Path Synopsis
Package call 定義了從 rw io.ReadWriter 中 進行 遠程 調用的 輔助功能
Package call 定義了從 rw io.ReadWriter 中 進行 遠程 調用的 輔助功能
Package message 定義了 如何從 io.Reader 中 解析消息
Package message 定義了 如何從 io.Reader 中 解析消息
Package tar 在標準庫的 archive/tar 之上提供了一些 常用的輔助 函數
Package tar 在標準庫的 archive/tar 之上提供了一些 常用的輔助 函數
解析 mir 使用的 圖像資源 wix wil/wzx wzl
解析 mir 使用的 圖像資源 wix wil/wzx wzl

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL