go pkg
2015-10-14 13:31
399 查看
fmt
Scanln用来读取输入数据
示例:package main import ( "fmt" "os" "time" ) func main() { out := os.Stdout var d0, d1, d2, d3 string for { //要读取完整的一行数据, 空格分隔的每个串被一次写入到参数中, 第一个返回值是读取的参数数目,第二个返回值是错误信息 nd, err := fmt.Scanln(&d0, &d1, &d2, &d3) if err == nil && nd != 0 { fmt.Fprintf(out, "d0:%s d1:%s d2:%s d3:%s", d0, d1, d2, d3) fmt.Fprintf(out, "len:%d\n", len(d3)) fmt.Fprintf(out, "num:%d\n", nd) } else { fmt.Fprintf(out, "num:%d err:%v\n", nd, err) } time.Sleep(time.Second) } }
输出:
#1,如果输入的参数个数为3个 a aa aaa 输出: nd:3 err:unexpected newline #2,如果输入的参数个数为4个 a aa aaa aaaa 输出: d0:a d1:aa d2:aaa d3:aaaalen:4 num:4 #3,如果输入的参数个数为5个 a aa aaa aaaa aaaaa 输出: num:4 err:expected newline num:1 err:unexpected newline
fmt.Fprintf(out)可以用fmt.Println()替代
bufio
//生成一个新的reader func NewReader(rd io.Reader) *Reader //生成一个新的reader,size为该reader的最短buffer长度 func NewReaderSize(rd io.Reader, size int) *Reader //返回buffer中未被读取的长度 func (b *Reader) Buffered() int //skip掉buffer,长度为n字节 func (b *Reader) Discard(n int) (discarded int, err error) //返回next n 字节数据 func (b *Reader) Peek(n int) ([]byte, error) //读取buffer的数据,读取完毕或者读取p长度的字节 func (b *Reader) Read(p []byte) (n int, err error) //从buffer中读取一个字节 func (b *Reader) ReadByte() (c byte, err error) //从buffer中读取若干字节,到delim截止,返回包含delim func (b *Reader) ReadBytes(delim byte) (line []byte, err error) //读取一行,\n结尾 func (b *Reader) ReadLine() (line []byte, isPrefix bool, err error) //读取一个utf编码字,可能1个字节,也可能3个字节 func (b *Reader) ReadRune() (r rune, size int, err error) //读取一段数据,delim截止,返回为[]byte类型 func (b *Reader) ReadSlice(delim byte) (line []byte, err error) //读取一段数据,delim截止,返回string类型 func (b *Reader) ReadString(delim byte) (line string, err error) //抛弃当前buffer的所有数据,并且重置当前值为新reader r,同时重置其它信息 func (b *Reader) Reset(r io.Reader) //回退一个byte,回退不包含\0 func (b *Reader) UnreadByte() error //回退一个utf编码字,包含\0 func (b *Reader) UnreadRune() error //reader写入到writer中,类似于重新向的概念,需要每次 func (b *Reader) WriteTo(w io.Writer) (n int64, err error)
相关文章推荐
- django下使用celery进行异步任务
- 虽然Google的这个项目死了,但是它依然能给我们如此多借鉴
- Go语言资源收集
- Django-Rest-Framework 教程: 快速入门
- gunicorn部署django实例
- HVM,Hexagon处理器的虚拟器解决方案
- Google Guava Collections 使用介绍
- 图解django 中间件
- django 大体框架
- django 去掉某个方法的防跨站伪造请求CSRF
- [Django模板系统]Django的模板渲染(render)机制
- HDU - 3966 Aragorn's Story(树剖模版题)
- POJ 1042 Gone Fishing
- Django Singal
- 【进阶——最小费用最大流】hdu 1533 Going Home (费用流)Pacific Northwest 2004
- Kafka logo分布式发布订阅消息系统 Kafka
- 5.36(Geometry:area of a regular polygon)
- Django i18n国际化
- 进程、线程、轻量级进程、协程与 go 的 goroutine【转载+整理】
- django tmeplate 循环基数