博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
go pkg
阅读量:4565 次
发布时间:2019-06-08

本文共 2246 字,大约阅读时间需要 7 分钟。

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:4num:4#3,如果输入的参数个数为5个 a aa aaa aaaa aaaaa输出:num:4 err:expected newlinenum:1 err:unexpected newline

fmt.Fprintf(out)可以用fmt.Println()替代

bufio

//生成一个新的readerfunc 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)

 

转载于:https://www.cnblogs.com/helww/p/4877213.html

你可能感兴趣的文章
回归起点
查看>>
Maven for Eclipse 第一章 ——Maven的介绍
查看>>
MySQL5.7.20编译安装
查看>>
剑指Offer_32_把数组排成最小的数
查看>>
poj1936
查看>>
web虚拟主机的原理、工作方式以其优缺点
查看>>
第一次作业
查看>>
2018上IEC计算机高级语言(C)作业 第0次作业
查看>>
Apache中关于页面缓存的设置
查看>>
关掉win10下面的ctrl+alt+up/dowm
查看>>
[Python] Slice the data with pandas
查看>>
seo外链怎么发才能效果最大化
查看>>
【CentOS7】常用命令
查看>>
模型评估方法
查看>>
sublime实现一键代码格式化
查看>>
36:计算多项式的值
查看>>
c#-委托,匿名方法,lambda表达的关系
查看>>
python中的协程:greenlet和gevent
查看>>
AliCTF2014题目解析之<reverse-300>
查看>>
BroadcastReceive之ip拨号
查看>>