golang语言学习#4-控制语句

golang中的控制语句相较于其他语言书写更简介

if语句中条件不需要加{},并且在if语句中声明的变量在if以外的地方不能够使用

	if a, b := 1, 2; a < b {
		fmt.Println(a)
		fmt.Println(b)
		fmt.Println("a比b小")
	}else{
		fmt.Println("a比b大")
	}
	//fmt.Println(a)  如果在if语句外加入这句语句,程序报错,因为a,b只在if方法中有效

程序输出:

1
2
a比b小

在golang中循环语句只有for循环,for循环有三种表达方式

  • for index = ? ; index < count;  index++ {}  经典条件语句
  • for condition {}  条件
  • for{} 死循环
	for a, b := 0 ,4; a < b; a, b = a+1, b-1 {  //在for循环中同样支持平行赋值,注意在多个变量自加时a++, b++ 会导致编译错误
		fmt.Println(a)
	}
	a := 0
	for a < 3 {
		a++
		fmt.Println(a)
	}
	a := 0
	for {
		a++
		fmt.Println(a)
	}


goto,continue,break控制

一般都使用标签来进行控制

goto:

	TAB: for a := 0; a < 10; a++ {
		fmt.Println(a)
		goto TAB
	}  //goto会进行语句跳转时,对语句进行了重置,所以这个for循环是一个死循环,会无限打印0,一般使用goto时标签多用语循环语句之后

continue:

	TAB: for a := 0; a < 10; a++ {
		fmt.Println(a)
		continue TAB
	}  //将goto替换成continue后,语句同样会进行跳转,但并不会对语句进行重置,所以正常输出0,1,2,3,4,5,6,7,8,9

break:

	TAB: for a := 0; a < 10; a++ {
		fmt.Println(a)
		break TAB
	} //替换成break后,语句直接跳出TAB标签的循环,输出0

switch语句:

switch语句是最灵活的一种控制语句,表达式可以不是常量或者字符串,也可以没有表达式

一般来说,表达式中没有条件,可以在case中填写条件

	a := 2
	switch  a {
	case 1:
		fmt.Println("case0")
	case 2:
		fmt.Println("case1")
	default:
		fmt.Println("Other")
	}

下面我们来看一个switch语句

	a := 2
	switch {
	case a > 0:
		fmt.Println("case0")
	case a > 1:
		fmt.Println("case1")
	default:
		fmt.Println("Other")
	}

语句输出:

case0


因为在switch语句中,当条件成立,case后面有隐式的break语句,当然也可以显式的表达出来,但是上面语句中,2既大于0,又大于1,怎么办呢,switch中有一个fallthrough语句来控制switch语句继续执行

	a := 2
	switch {
	case a > 0:
		fmt.Println("case0")
		fallthrough
	case a > 1:
		fmt.Println("case1")
	default:
		fmt.Println("Other")
	}

语句输出:

case0
case1
这样就能继续判断后面的条件是否成立了





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值