Go_运算符、控制语句

1.运算符

算数运算符:加减乘除、%取余、++自增 、–自减
关系运算符: ==、!=、>、 < 、>=、 <=
逻辑运算符: && 、||、 !
位运算符: & 、| 、^ 、<<、 >>

赋值运算符:

运算符描述
=简单的赋值运算符,将一个表达式的值赋给一个左值
+=相加后再赋值
-=相减后再赋值
*=相乘后再赋值
/=相除后再赋值
%=求余后再赋值
<<=左移后赋值
>>=右移后赋值
&=按位与后赋值
^=按位异或后赋值

优先级

  • / % << >> & &^ + - | ^ == != < <= > >= && ||

2.控制语句

2.1条件语句
2.1.1 if语句

IF 语句由一个布尔表达式后紧跟一个或者多个语句组成另外Go没有三元运算符*? : 😦

	if a== b {
		fmt.Println(a, b, ConstC, c1, c2, c3)
	} else {
		fmt.Println("没有匹配到")
	}
		
2.1.2 switch语句

switch默认情况下case 最后自带break语句,匹配成功后不会执行其他case,如果我们需要执行后面的case,可以使用fallthrough。
fallthrough:强制执行后面的case语句

	switch a {
	case 123:
		fmt.Println("轮到我执行了")
		fallthrough
	case 234:
		fmt.Println("我是被强制执行的")
	default:
		fmt.Println("都没人执行的话,就轮到我上场啦")
	}

2.1.3 select语句
  • 每个case都必须是一个通信
  • 都有channel表达式都会被求值
  • 所有被发送的表达式都会被求职
  • 如果任意某个通信可以进行,它就执行,其他被忽略。
  • 如果有多个 case 都可以运行,Select 会随机公平地选出一个执行。其他不会执行。 否则:
    • 如果有 default 子句,则执行该语句。
      -如果没有 default 子句,select 将阻塞,直到某个通信可以运行;Go 不会重新对 channel 或值进行求值。
select {
 case communication clause  :
   statement(s);
 case communication clause  :
   statement(s);
 default : // 可选
   statement(s);
}
2.2 循环语句
2.2.1 for 循环
  • for init; condition; post { }
  • //for for condition { } //while
  • for {}
    init: 一般为赋值表达式,给控制变量赋初值;
    condition: 关系表达式或逻辑表达式,循环控制条件;
    post:一般为赋值表达式,给控制变量增量或减量。
//普通循环
	for a := 0; a < 10; a++ {
		fmt.Printf("我是十次循环中的第 %d 个", a)
	}

	//遍历数组
	arr := []int{1, 2, 3, 4}
	for i := range arr {
		fmt.Printf("%d", i)
	}

	//遍历map
	hash := map[string]string{"a":"a_value","c":"c_value"}
	for key, value := range hash {
		fmt.Printf("key值:%s,value值:%s", key, value)
	}

2.2.2 嵌套循环
for i:=0; i<10; i++{
	for(j=i; j<10; j++){
	}
}
2.2.3 循环控制语句
  • break语句:
    • 用于循环语句中跳出循环,并开始执行循环之后的语句。
    • break 在 switch(开关语句)中在执行一条 case 后跳出语句的作用。
    • 在多重循环中,可以用标号 label 标出想 break 的循环。
  • continue语句:跳过当前循环的剩余语句,然后继续进行下一轮循环。
  • goto:无条件转移到过程中指定行,与条件语句配合,实现条件转移、构成循环、跳出循环体等(不建议用,造成混乱)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值