golang中实现键盘输入依赖于fmt包的Scanln()和Scanf()函数。
Scanf函数
func Scanf(a ...interface{}) (n int, err error)
Scanf从标准输入扫描文本,将成功读取的空白分隔的值保存进成功传递给本函数的参数。
换行视为空白。
返回成功扫描的条目个数和遇到的任何错误。
如果读取的条目比提供的参数少,会返回一个错误报告原因。
package main
import "fmt"
func main() {
var name string
var age byte
var sal float32
var isPass bool
fmt.Println("input you name, age, salary, pass")
if _, err := fmt.Scanf("%s %d %f %t", &name, &age, &sal, &isPass);err != nil{
fmt.Println()
}
fmt.Printf("名字是 %v 年龄是 %v \n薪水是 %v \n是否通过考试 %v \n",
name, age, sal, isPass)
}
Scanln函数
func Scanln(a ...interface{}) (n int, err error)
Scanln类似Scan,但会在换行时才停止扫描。
最后一个条目后必须有换行或者到达结束位置。
package main
import "fmt"
func main() {
var name string
var age byte
fmt.Println("请输入姓名 ")
//当程序执行到 fmt.Scanln(&name),程序会停止在这里,等待用户输入,并回车
fmt.Scanln(&name)
fmt.Println("请输入年龄 ")
fmt.Scanln(&age)
fmt.Printf("名字是 %v \t 年龄是 %v", name, age)
}
原文:https://www.cnblogs.com/chenpengzi/p/14815392.html