golang学习笔记006--运算符

1.算术运算符

● fmt.Println(10/4)结果为2.如果运算符都是整数,除后,去掉小数部分,保留整数部分
● 如果我们希望保留小数部分,则需要有浮点数参与运算
● 当一个数取模时,等价于 a%b=a-b/b*b
● go语言自增自减只能当作一个独立语言使用,不能这样使用:a=i++
● go语言只有a++,a–.没有++a,–a

2.关系运算符

● 关系运算符的结果都是bool型

3.逻辑运算符

● && 短语与:如果第一个为false,则第二个条件不会判断,结果为false
● || 短路或:如果第一个条件为true,则第二个不会判断,结果为true

4.位运算

● & 按位与
● | 按位或
● ^ 按位异或
● << 左移
● >> 右移

5.其他运算符

● & 返回变量存储地址
● * 指针变量

特别说明:go语言明确不支持三元运算符

6.键盘输入语句

	//方式一: fmt.Scanln
	var name string
	var age byte
	var sal float32
	var isPass bool
	fmt.Println("请输入姓名:")
	fmt.Scanln(&name)
	fmt.Println("请输入年龄:")
	fmt.Scanln(&age)
	fmt.Println("请输入薪水:")
	fmt.Scanln(&sal)
	fmt.Println("是否通过考试:")
	fmt.Scanln(&isPass)
	fmt.Printf("姓名是%v \n 年龄是%v \n 薪水是%v \n 是否通过考试%v \n",name,age,sal,isPass)

在这里插入图片描述

	var name string
	var age byte
	var sal float32
	var isPass bool

	//方式二: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,isPass)

在这里插入图片描述

7.进制

对于整数,有四种表示方式
● 二进制:在golang中,不能直接使用二进制来表示一个整数,他沿用了c的特点
● 十进制
● 八进制:以数字0开头
● 十六进制:以0x或0X开头

8.原码,反码,补码

对于有符号的而言:
● 二进制的最高位是符号位:0表示正数,1表示负数
  ○ 1 ===》[0000 0001]-1===>[1000 0001]
● 正数的原码,反码,补码都一样
● 负数的反码=它的原码符号位不变,其它位取反(0->1,1->0)
  ○ 1===>原码[0000 0001]反码[0000 0001]补码[0000 0001]
  ○ -1===>原码[1000 0001]反码[1111 1110]补码[1111 1111]
● 负数的补码=它的反码+1
● 0的反码,补码都是0
● 在计算机运算的时候,都是以补码的方式来运算的.1+1 1-1 = 1+(-1)

9.程序流程控制

if

	if 条件表达式{
	执行代码块
	}
	if age>18{
	fmt.Println("成年")
	}
	注意:
	    ■ 条件表达式不用写括号
	    ■ 在if中,可以直接定义一个变量
	if age:=20;age>18{
	fmt.Println("成年")
	}
	    ■ if b=false错误,不能是赋值语句

switch

  1. case/switch 后面是一个表达式(即:常量值,变量,一个有返回值的函数等都可以)
  2. case后的各个表达式的值的数据类型必须和switch的表达式数据类型一致
  3. case后面可以带多个表达式,使用逗号隔开.比如case 表达式1,表达式2
  4. case后面的表达式如果是常量值(字面值),则要求不能重复
  5. case后面不需要带break,程序匹配到一个case后就会执行对应的代码块,然后switch,如果没有匹配,执行default
  6. default语句不是必须的
  7. switch后也可以不带表达式,类似if-else使用
  8. switch后也可以直接声明/定义一个对象,分号结束,不推荐
  9. switch穿透fallthrough,如果在case语句块后面增加fallthrough,则会继续执行下一个case,默认只穿透一层
    在这里插入图片描述
    在这里插入图片描述
  10. Type Switch:switch语句还可以被用于type-switch来判断某个interface变量中实际指向的类型变量
    在这里插入图片描述

for

for-range 可以方便遍历字符串和数组
在这里插入图片描述

break使用注意事项
○ break默认跳出最近的for循环
○ break后面可以指定标签,跳出标签对应的for循环(不是跳到标签位置继续执行,是结束对应for循环)
在这里插入图片描述
continue使用注意事项
用于结束本次循环,继续执行下一次循环
goto
不推荐使用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值