Go 的控制语句

Go 编程基础

  一.判断语句if

  • 条件表达式没有括号
  • 支持一个初始化表达式
  • 左大括号必须和条件语句或者else在同一行
  • 支持单行模式
  • 初始化语句中的变量为block级别,同时隐藏外部的变量名

以下是演示
package main

import "fmt"

func main()  {
	var num int
	num = 0
	if num:=1;num>0 {
		fmt.Println("1.Yes")
	}else{
		fmt.Println("1.No")
	}
	
	if num>0{
		fmt.Println("2.Yes")
	}else{
		fmt.Println("2.No")
	}
}

当然打印结果是第一个Yes,第二个No


 二.循环语句for

  • Go只有for一个循环语句关键字,但支持3种形式
  • 初始化和步进表达式可以是多个值
  • 条件语句每次循环都会被重新检查,因此不建议在条件语句中使用函数,尽量计算好条件并以常量或者变量代替。
  • 左大括号必须和条件语句在同一行

以下是演示

1.无限循环


package main

import "fmt"

func main()  {
	a := 1
	for {
		a++
		if a>=10{
			fmt.Println("a:",a)
			break
		}
	}
	fmt.Println("Over")
}


2.条件循环

package main

import "fmt"

func main() {
	a := 0
	for a <= 10 {
		a++
	}
	fmt.Println("Over")
}


3.经典形式

package main

import "fmt"

func main() {

	for a:=0;a <= 10;a++ {
		fmt.Println("a:",a)
	}
	fmt.Println("Over")
}


三.选择语句switch

  • 不需要break。一旦条件符合,自动退出
  • 可以使用任何类型或表达式作为条件语句
  • 如希望继续执行下一个case,需要fallthrough语句
  • 支持一个初始化表达式,右侧需要跟上分号
  • 左大括号必须和条件语句在同一行

以下是例子


package main

import "fmt"

func main() {
	switch a := 1;{
	case a >= 0:
		fmt.Println("Number le 0")
		fallthrough
	case a >= 1:
		fmt.Println("Number le 1")
	default:
		fmt.Println("None")
	}
}


四..跳转语句goto,break,continue

  • 三个语句都可以配合标签使用
  • 标签名区分大小写,若不使用会造成编译错误
  • break和continue可以配合标签用于退出多层循环的退出
  • Goto是调整执行位置的,与其他2个语句配合标签的结果不相同

以下是例子
LABEL1是可以跳出LABEL1所对应的那层循环。
package main

import "fmt"

func main() {
	LEBEL1:
	for{
		for i := 0;i<10 i="" if="" i=""> 3{
				break LEBEL1
			}
		}
	}
	fmt.Println("Over")
}


这个continue是和break一样的。LABEL1所对应的第一层循环。

而goto只是调整执行位置。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值