// 返回的切片类型指向共享的数据,该数据可以被下一次Token的调用(使用ScanState接口作为输入调用Scan函数)中或者调用返回的Scan方法时重写。
Token(skipSpace bool, f func(rune) bool) (token []byte, err error)
// Width返回width选项的值以及其是否被设定。
Width() (wid int, ok bool)
// 因为ReadRune用接口实现,Read方法应该永远不被scan程序调用,一个好使的ScanState实现应该保证总是从Read返回错误。
Read(buf []byte) (n int, err error)
}
ScanState是一个交给用户定制的Scanner接口的参数的接口。Scanner接口可能会进行一次一个字符的扫描或者要求ScanState去探测下一个空白分隔的token。
type
type Scanner intece {
Scan(state ScanState, verb rune) error
}
任何实现了Scan方法的对象都实现了Scanner接口,Scan方从输入读取数据并将处理结果存入接受端,接收端必须是有效的指针。Scan方被任何Scan、Scanf、Scanln等函数调用,只要对应的参数实现了该方法。
type
type State intece {
// Write可被调用以发出格式化的输出。
Write(b []byte) (ret int, err error)
// Width返回宽度的值及其是否被设定。
Width() (wid int, ok bool)
// Precision返回精度的值及其是否被设定。
Precision() (prec int, ok bool)
// Flag返回符号(正负号……)的值是否被设定。
Flag(c int) bool
}
State是一个提供给Formatter接口的输出参数的接口。它提供对io.Writer接口的、使用提供的数据对参数格式化后的访问。
type
type Stringer intece {
String() string
}
Stringer接口被任何实现了String方法的类型自动实现,该方法定义了该类型的“原生”格式。String方法用来输出参数,当使用%s或%v格式时,或者被Print等不使用格式字符串的函数输出时。
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-32786-5.html
一周不重样
让她为了求全三天打五次飞机
用十艘022导弹飞艇绕着美舰走