使用fmt.Fscanf函数从输入中读取格式化的数据

2023-07-24 14:15:40 函数 读取 格式化

使用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函数从输入中读取格式化的数据,我们可以方便地获取用户输入,并按照指定的格式进行解析和处理。这为我们处理输入提供了更大的灵活性和便捷性。

相关文章