开发者学堂课程【Go 语言核心编程 - 基础语法、数组、切片、Map :获取用户终端输入】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/625/detail/9551
获取用户终端输入
内容简介:
一、运算符的优先级
二、键盘输入语句
一、运算符的优先级
运算符的优先级的一览表
分类 |
描述 |
关联性 |
后缀 |
()【】->.++-- |
左到右 |
单目 |
+-1~(type)*&sizeof |
右到左 |
乘法 |
*/% |
左到右 |
加法 |
+- |
左到右 |
移位 |
<<>> |
左到右 |
关系 |
<>>= |
左到右 |
相等(关系) |
== != |
左到右 |
按位AND |
& |
左到右 |
按位XOR |
A |
左到右 |
按位OR |
| |
左到右 |
逻辑AND |
&& |
左到右 |
逻辑OR |
|| |
左到右 |
赋值运算符 |
=+= -= * =/=%= >>= <<= &= ^= |= |
右到左 |
逗号 |
, |
左到右 |
对上图的说明
1) 运算符有不同的优先级,所谓优先还就是表达式运算中的运算顺序。如右表,上一行运算符总优先于下一行。
2) 只有单目运算符、赋值运算符是从右向左运算的。
3)梳理了一个大概的优先级
1:括号,++,--
2:单目运算
3:算术运算符
4:移位运算
5:关系运算符
6:位运算符
7:逻辑运算符
8:赋值运算符
9:逗号
二、键盘输入语句
介绍
在编程中,需要接收用户输入的数据,就可以使用键盘输入语句来获取。 InputDemo.go
步骤
1) 导入 fmt 包
2) 调用 fmt 包的 fmtScanln() 或者 fmtScanf()
func Scanin
func Scanln(a ...interface{})(n int, err error)
Scanin 类似 Scan,但会在换行时才停止扫描。最后一个条目后必须有换行或者到达结束位置。
func Scanf
func Scanf(format string, a ...interface{))(n int, err error)
Scanf 从标准输入扫描文本,根据 format 参数指定的格式将成功读取的空白分隔的值保存进成功传递给本西数的参数。返回成功扫描的条目个数和遇到的任何错误。
案例演示
要求:
可以从控制台接收用户信息,【姓名,年龄,薪水。是否通过考试】。
1.使 fmtScanln() 获取
func main(){
//要求;
可以从控制台接收用户信息,【姓名,年龄,薪水,是否通过考试】。
//方式1 fmt.ScanIn
//1先声明需要的变量
var name string
var age byte
var sal float32
var isPass bool
fmt.Printin("请输入姓名*)
//当程序执行到 fmt.ScanIn(&name),程序会体止在这里,等传用户输入。
并回车 fmt.scanln(&name)
fmt.Println(”请输入年龄")
fmt.ScanIn(&age)
fmt.Println(“请输入薪水“)
fmt.scanln(&sal)
fmt.Println(“请输入是否通过考试)
fmt.scanIn(&isPass)
fmt.Printf("名字是Xv\n 年龄是%v\n
薪
水是% \n 是否通过考试 Xv\n",name
,age,
}
2)使用 fmt.Scanf()获取
//方式2:
fmt.Scanf,可以按指定的格式输入
fmt.Println("请输入你的姓名,年龄,薪水,是否通过考试,使用空格隔开")
fmt.Scanf
("%s%d%f%t",&name,&age,&sal,&isPass)
fmt.Printf
("名字是%v\n年龄是%v \n 薪水是%v\n 是否通过考试%v\n",name, age,sal
,
}