Go核心编程(8)—— 入门篇之键盘输入语句
键盘输入语句
介绍
在编程中,需要接受用户输入的数据,就可以使用键盘输入语句来获取
Scanln和Scanf的区别
//Scanf 扫描从标准输入中读取的文本,并将连续由空格分隔的值存储为连续的实参, 其格式由 format 决定。它返回成功扫描的条目数。若返回的条目数小于实参数, 则会报告错误原因 err。
func Scanf(format string, a ...interface{}) (n int, err error)
//Scanln 类似于 Scan,但它在换行符处停止扫描,且最后的条目之后必须为换行符或 EOF。
func Scanln(a ...interface{}) (n int, err error)
//总的来说一个Scanln支持多次输入一个信息,而Scanf则一次输入多个信息
步骤
1、导入fmt包
2、调用fmt包的fmt.Scanln()或者fmt.Scanf()
Scanln 类似于 Scan,但它在换行符处停止扫描,且最后的条目之后必须为换行符或 EOF。
Scanf 扫描从标准输入中读取的文本,并将连续由空格分隔的值存储为连续的实参, 其格式由 format 决定。它返回成功扫描的条目数。若返回的条目数小于实参数, 则会报告错误原因 err。
案例演示
package main
import (
"fmt"
)
func main(){
//要求可以从控制台信息
//方式1 Scanln
//1 声明所需变量
var name string
var age byte
var salary float32
var isPass bool
fmt.Println("请输入姓名")
//当程序执行到此处时,程序会停止在这里,等待用户输入并回车
fmt.Scanln(&name)
fmt.Println("请输入年龄")
fmt.Scanln(&age)
fmt.Println("请输入薪水")
fmt.Scanln(&salary)
fmt.Println("请输入是否通过考试")
fmt.Scanln(&isPass)
fmt.Printf("名字是 %v\n年龄是 %v\n薪水是 %v\n是否通过考试 %v\n",name,age,salary,isPass)
//方式2 Scanf可以按指定格式输入
fmt.Println("请输入你的姓名,年龄,薪水,是否通过考试,输入时使用空格隔开")
fmt.Scanf("%s %d %f %t",&name,&age,&salary,isPass)
fmt.Printf("名字是 %v\n年龄是 %v\n薪水是 %v\n是否通过考试 %v\n",name,age,salary,isPass)
}
推荐使用第一种方式