散记02:运算符、流程控制

01

一:

自增(++)和自减(--)在go语言中视作是单独的语句,而非运算符。也就是意味着++和--只是被视作为“= i+1”和“=i-1”的简写。

二:

++和--并不能用在变量之前,只能用在变量之后。

02

一:

在Go语言中,位运算只对整数在内存中的二进制位进行操作。有与(同1为1)、或(有1为1)、异或(不同为1)、左移、右移五种操作。

二:

在对整数做数值比较或者数值转换时,可以考虑如何使用位运算,位运算由于直接对二进制进行操作,故而效率极高,适合于对性能要求严苛的场景。

03

一:

if条件判断有一种特殊写法,就是在首个if判断的表达式之前再添加一个执行语句。与平常的if写法不同,这里score变量只是if语句块中的局部变量,并不能在外部使用。


	if score := 65; score >= 90 {
		fmt.Println("A")
	} else if score > 75 {
		fmt.Println("B")
	} else {
		fmt.Println("C")
	}

二:

假如用作判断的变量只用一次,而又想节省一些内存,则该种写法是可以使用的。

04

一:

for range可以用于遍历整数、数组、字符串、切片、map和通道。

数组、切片、字符串返回的是索引和对应元素值。

map返回的是键和值。

channel返回的是则是缓冲区中滞留的数据。

整数则是从0开始的累加遍历,止步于(num-1)。

二:

在只需要从开头到结束的遍历场景中,使用for range显然更加便捷,无需手动管理各类索引变量,当然有时也可以通过添加if语句判断使其遍历出条件需要的元素。

05

一:

goto通过标签来进行代码之间的无条件跳转。

二:

该语法对于多层嵌套中的代码结构有良好的效果,可以免去多个break,以及多个break条件判断的编写,避免重复退出,能够一步到位。

06

一:

break和continue同样可以通过添加要退出的循环的标签来退出循环。其中break可以结束for循环,switch判断和select判断,而continue仅限于for循环中。

二:

在多层嵌套的代码结构中,通过结束外层循环来一并结束内层循环,也不失为一种简洁的方法,且要比goto更有逻辑性和简明。

  • 10
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值