详解golang碎片整理之 fmt.Scan

2020-01-28 14:07:59于海丽

代码示例


package main
import "fmt"
func main(){
 var (
  name string
  age int
  married bool
 )
 fmt.Scanln(&name,&age,&married)
 fmt.Printf("扫描结果 name:%s age:%d married:%t",name,age,married)
}

将上述代码编译后在终端执行,在终端依次输入alfred 26 false使用空格分隔。

go run main.go
alfred 26 false
扫描结果 name:alfred age:26 married:false

fmt.Scanln遇到回车就结束扫描了,这个比较常用。

Fscan系列


func Fscan(r io.Reader, a ...interface{}) (n int, err error)
func Fscanln(r io.Reader, a ...interface{}) (n int, err error)
func Fscanf(r io.Reader, format string, a ...interface{}) (n int, err error)

这几个函数功能类似于fmt.Scan 、fmt.Scanf、fmt.Scanln三个函数,只不过它们不是从标准输入中读取数据而是从io.Reader中读取数据。

Sscan系列


func Sscan(str string, a ...interface{}) (n int, err error)
func Sscanln(str string, a ...interface{}) (n int, err error)
func Sscanf(str string, format string, a ...interface{}) (n int, err error)

这几个函数功能类似于fmt.Scan 、fmt.Scanf、fmt.Scanln三个函数,只不过它们不是从标准输入中读取数据而是从指定字符串中读取数据。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持易采站长站。