键盘输入语句 InputDemo.go
类似PY中的input()
- 导入fmt包
- 调用fmt包中的 fmt.Scanf() 或者 fmt.Scanln() 两个函数都可以完成输入
fmt.Scanf() 和 fmt.Scanln()的区别:
- 对比C语言可以知道,传入值行为与C语言中scanf无异,而package main,import “fmt” 则是类似 #include<stdio.h>,类比学习
- Scanx()中参数传递的是变量的地址,即 &<变量>
- Scanln()函数只能传递单值,而Scanf()可以格式化同时传递多个值
案例:输入四个值:(球员姓名,年龄,薪资,是否进入NBA),打印出来
使用Scanln()来输出:
package main
import "fmt"
func main() {
//首先定义四个变量
var(
name string
age byte
salary float64
isNba_reg bool
)
/*
为几个变量赋值,使用fmt.Scanln()函数
*/
fmt.Println("请输入球员姓名:")
fmt.Scanln(&name) //传递的是变量地址,Scanln()内部接受地址,最后使用*&name完成对name内存中值的赋予(改变)
fmt.Println("请输入球员年龄:")
fmt.Scanln(&age)
fmt.Println("请输入球员薪资(million):")
fmt.Scanln(&salary)
fmt.Println("请输入球员是否为NBA正式球员:")
fmt.Scanln(&isNba_reg)
fmt.Println("输入结果检视:\n")
fmt.Printf("球员名称:%v\n",name)
fmt.Printf("球员年龄:%v\n",age)
fmt.Printf("球员薪资:%v\n",salary)
fmt.Printf("是否为NBA正式球员:%v\n",isNba_reg)
}
使用Scanf()来输出:
package main
import "fmt"
func main() {
//首先定义四个变量
var (
name string
age byte
salary float64
isNba_reg bool
)
/*
为几个变量赋值,使用fmt.Scanln()函数
*/
fmt.Println("请输入球员姓名,球员年龄,球员薪水,球员是否为正式球员四项内容" +
"(使用空格来间隔): ")
fmt.Scanf("%s %d %f %t", &name, &age, &salary, &isNba_reg)
fmt.Println("\n")
fmt.Println("输入结果检视:")
fmt.Printf("球员名称:%v\n", name)
fmt.Printf("球员年龄:%v\n", age)
fmt.Printf("球员薪资:%v\n", salary)
fmt.Printf("是否为NBA正式球员:%v\n", isNba_reg)
}