📜  Golang 中的 fmt.Scanf()函数示例(1)

📅  最后修改于: 2023-12-03 15:15:22.568000             🧑  作者: Mango

Golang 中的 fmt.Scanf() 函数示例

fmt.Scanf() 是 Go 语言中 fmt 包下提供的一个读取用户输入的函数,类似于 C 语言中的 scanf()。该函数可以读取标准输入(键盘输入)或其他实现了 io.Reader 接口的输入源(例如文件)。

语法
func Scanf(format string, a ...interface{}) (n int, err error)
  • format:格式化字符串,用于指定待读取数据的格式,具体格式与 C 标准库中的 scanf() 函数相同。
  • a...:一个参数列表,用于指定待读取数据的存储变量。
示例

下面是一个简单的示例程序,该程序读取用户输入的姓名和年龄,然后打印出来:

package main

import "fmt"

func main() {
    var name string
    var age int

    fmt.Print("请输入您的姓名和年龄:")
    fmt.Scanf("%s%d", &name, &age)

    fmt.Printf("您好,%s,您今年 %d 岁了。", name, age)
}

在这个示例程序中,我们首先定义了两个变量 nameage,然后通过 fmt.Scanf() 函数读取用户的输入。读取的格式为 %s%d,分别表示读取一个字符串和一个整数,最后将读取到的值赋值给指定的变量 &name&age

如果您使用 Go Playground 运行该程序,会看到以下输出:

请输入您的姓名和年龄:John 20
您好,John,您今年 20 岁了。
注意事项
  1. fmt.Scanf() 函数在读取时,会忽略空格、换行符等分隔符。
  2. 您可以使用 fmt.Scan() 函数来读取一个单独的值,而不是一组值。
  3. fmt.Scanf() 函数的返回值 n 表示成功读取的变量个数,如果出现错误则返回 error 类型的错误信息。如果读取不到数据,则函数会阻塞等待输入。