在编程中,我们经常需要获取用户的键盘输入的内容,这时候,就需要我们使用键盘输入语句来获取用户输入的数据。
在 Golang 中,获取用户输入的数据使用 fmt.Scanf() 或者 fmt.Scanln()。
func Scanf(format string, a ...interface{}) (n int, err error)
参数 | 描述 |
---|---|
format | 要输入的文本对应的 格式化占位符。 |
a | 每一个格式化占位符,所对应的变量内容。 |
n | 返回成功读取的个数。 |
err | 如果出错,则返回错误信息,否则,返回 nil。 |
Scanf 函数有两个返回值,一个是 n 返回成功读取的个数,一个是 err,如果出错,则返回错误信息,否则,返回 nil。
func Scanln(a ...interface{}) (n int, err error)
参数 | 描述 |
---|---|
a | 要读取的 变量 内容。 |
n | 返回成功读取的个数。 |
err | 如果出错,则返回错误信息,否则,返回 nil。 |
Scanln 函数有两个返回值,一个是 n 返回成功读取的个数,一个是 err,如果出错,则返回错误信息,否则,返回 nil。
使用 fmt.Scanf() 读取用户键盘输入
package main
import (
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
// 使用 fmt.Scanf() 读取输入
var name string
var age byte
var score float32
fmt.Println("请输入姓名 年龄 成绩")
fmt.Scanf("%s %d %f", &name, &age, &score)
fmt.Println("Name = ", name, "Age =", age, "Score =", score)
}
程序运行后,控制台输出如下:
我们首先定义了三个变量 name、age 和 score,类型分别是 string 、byte 和 float32。
接着,我们使用 Scanf() 函数,输入这三个变量的值,他们的占位符分别是 %s
、%d
和 %f
,后面的变量我们需要使用取地址符,即 &
。
最后,我们再次输入上面的三个变量,发现这三个变量的值就是我们输入的三个变量的值。
使用 fmt.Scanln() 读取用户键盘输入
package main
import (
"fmt"
)
func main() {
fmt.Println("嗨客网(www.haicoder.net)")
// 使用 fmt.Scanln() 读取输入
var name string
var age byte
var score float32
fmt.Printf("请输入姓名: ")
fmt.Scanln(&name)
fmt.Printf("请输入年龄: ")
fmt.Scanln(&age)
fmt.Printf("请输入成绩: ")
fmt.Scanln(&score)
fmt.Println("Name = ", name, "Age =", age, "Score =", score)
}
程序运行后,控制台输出如下:
我们首先定义了三个变量 name、age 和 score,类型分别是 string 、byte 和 float32。
接着,我们使用 Scanln() 函数,输入这三个变量的值,Scanln() 函数不需要我们输入占位符,但后面的变量同样需要使用取地址符,即 &
。
最后,我们再次输入上面的三个变量,发现这三个变量的值就是我们输入的三个变量的值。
在 Golang 中,获取用户输入的数据使用 fmt.Scanf() 或者 fmt.Scanln()。fmt.Scanf() 语法:
func Scanf(format string, a ...interface{}) (n int, err error)
fmt.Scanln() 语法:
func Scanln(a ...interface{}) (n int, err error)