fmt

fmt是go语言中的格式化输入输出库,其中主要分为两个部分,分别是输出部分和输入部分。

输出

Print

Print函数的主要功能是输出,和Print类似的函数有以下几个:

func Print(a ...interface{}) (n int, err error)func Println(a ...interface{}) (n int, err error)\nfunc Printf(format string, a ...interface{}) (n int, err error)

代码示例:

运行结果:

常用占位符:

  • %d:整形十进制占位符
  • %b:整形二进制占位符
  • %o:整形八进制占位符
  • %x:整形十六进制占位符,其中a到f为小写
  • %X:整形十六进制占位符,其中A到F为大写
  • %s:字符串占位符
  • %f:浮点数占位符
  • %e:浮点数科学计数法:例如:1.234e+10
  • %E:浮点数科学计数法:例如:1.234E+10
  • %t:布尔类型占位符
  • %p:指针,十六进制表示,并加上0x前缀

Fprint

Fprint系列函数同样有以下三个,该函数会将内容输出到io.Writer接口类型的变量w中,通常用于朝文件中写入数据。

func Fprint(w io.Writer, a ...interface{}) (n int, err error)func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error)func Fprintln(w io.Writer, a ...interface{}) (n int, err error) 

代码示例:

运行结果:

以上代码成功将内容写入到了a.txt文件中。

Sprint

Sprint会将传入的内容格式化成一个字符串并返回,和Sprint类似的函数有以下几个:

func Sprint(a ...interface{}) stringfunc Sprintf(format string, a ...interface{}) stringfunc Sprintln(a ...interface{}) string

代码示例:

运行结果:

Errorf

Errorf是根据传入的内容格式化后返回一个包含该字符串的error。

代码示例:

运行结果:

输入

在go语言中获取控制台输入可以使用以下几个函数:

Scan

Scan从标准输入读取文本,以空格符或换行符为分隔,将读取到的内容赋值给函数的参数,函数返回成功读取到的数据个数和遇到的错误。

代码示例:

运行结果:

Scanf

Scanf根据format参数指定的格式去读取由空白符分隔的值保存到函数的参数中。

代码示例:

运行结果:

name=%s age=%dlee 23

Scanln

Scanln类似于Scan,但是不同的是使用Scanln时只要输入了换行之后就会停止读取。

代码示例:

运行结果:

例如上述的输入中,如果仅仅只是输入了姓名就换行,那么就会停止读取,但是在Scan中,如果输入姓名后换行不会停止读取还需要继续输入年龄后才会停止读取。

总结