使用fmt.Fscanf函数从输入中读取格式化的数据
在Go语言中,fmt包中提供了多个函数用于格式化输入和输出。其中,fmt.Fscanf函数可以从输入中按照指定的格式读取数据。
下面是一个示例代码,演示了如何使用fmt.Fscanf函数从标准输入中读取格式化的数据:
package main import ( "fmt" "os" ) func main() { var name string var age int fmt.Print("请输入姓名和年龄(以空格分隔):") // 从标准输入中读取格式化的数据 _, err := fmt.Fscanf(os.Stdin, "%s %d", &name, &age) if err != nil { fmt.Println("读取数据失败:", err) return } fmt.Println("姓名:", name) fmt.Println("年龄:", age) }
在以上代码中,首先声明了两个变量name和age,用于存储从输入中读取的数据。然后,使用fmt.Print函数打印提示信息,提示用户输入姓名和年龄。然后,使用fmt.Fscanf函数从标准输入中读取数据,并使用格式化字符串"%s %d"指定了输入的格式,其中"%s"表示读取一个字符串,"%d"表示读取一个整数。注意,需要使用取地址操作符"&"将变量的地址传递给fmt.Fscanf函数。
如果读取数据成功,返回的结果是成功读取的参数个数和nil错误。我们在代码中使用"_"占位符来忽略返回的参数个数,只关心错误。如果读取数据失败,则返回非nil的错误。
最后,使用fmt.Println函数将读取到的姓名和年龄打印输出。
在运行以上代码时,控制台会打印提示信息,等待用户输入姓名和年龄。用户输入完成后,按下回车键,程序就会读取输入的数据,并打印输出姓名和年龄。
总结一下,通过使用fmt.Fscanf函数从输入中读取格式化的数据,我们可以方便地获取用户输入,并按照指定的格式进行解析和处理。这为我们处理输入提供了更大的灵活性和便捷性。