博文

目前显示的是 二月, 2019的博文

Go 语言输入

图片
Go 语言输入 在 Go 语言的教程当中,无论简繁,我都没有看到有关输入的例子(虽说 Go 的教程确实很简单,但是在其他的语言,比如 C 和 Java,一开始就说明了怎么进行格式化输入)。但是不管怎么样,教程没讲,并不代表它没有。自己动手,丰衣足食。 Go 语言的各种输入主要是在 fmt,bufio 和 io 这三个包里面。但是这些包里面的内容很多,输入的类型也是五花八门。我将分成三篇分别列出这三个包中有关输入的函数。下面我们首先来看一下 fmt 包中的输入。 fmt —— Scanningfmt 包中实现的是格式化的输入输出,类似于 C 中的 scanfprintf。 函数 首先我们先来看一下,fmt 包中的输入函数都有那些吧。 // 从一个指定的 io.Reader 中读取func Fscan(r io.Reader, a ...interface{}) (n int, err error) func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error) func Fscanln(r io.Reader, a ...interface{}) (n int, err error) // 从标准输入中读取输入func Scan(a ...interface{}) (n int, err error) func Scanf(format string, a ...interface{}) (n int, err error) func Scanln(a ...interface{}) (n int, err error) // 从一个实参字符串中读取func Sscan(str string, a ...interface{}) (n int, err error) func Sscanf(str string, format string, a ...interface{}) (n int, err error) func Sscanln(str string, a ...interface{}) (n int, err error) 从上面的函数中可以看到,fmt 包中的输入主要分为三个大类型,然后每个大类型又有三个小类型。 这跟 C 是非常类似的…