Go语言笔记---流程控制

条件判断

正常用法,和C语言不同,if后面不需要加括号

ten :=11
if ten>10{

}else{

}

特殊写法:

//Connect()是一个带有返回值的函数,err:=Connect()是一个语句。
//err!=nil才是if的判断表达式
if err:=Connect();err !=nil{

}

for

三种用法:
1.结束循环时带可执行语句的无限循环

var i int
//循环本身是无限循环
for ; ; i++{
	//i>10就跳出
	if i>10{
	break
	}
}

2.无限循环

for{

}

3.只有一个循环条件的循环

var i int 
for i<=10{
i++
}

小示例:九九乘法表

package main

import (
	"fmt"
)

func main() {
	for i := 1; i <= 9; i++ {
		for j := i; j <= 9; j++ {
			fmt.Printf("%d*%d=%d", i, j, i*j)
		}
		fmt.Println()
	}
}

输出:
在这里插入图片描述

分支选择switch

与C语言的不同:在Go语言中的switch不仅可以基于常量进行判断,还可以基于表达式进行判断。
基本写法
Go语言的switch中 的每一个case和case间是独立的代码块,不需要通过break语句跳出当前case代码块以避免执行到下一行。

var a ="hello"
switch a{
case "hello":
	fmt.Println(1)
case "world":
	fmt.Println(2)
default:
	fmt.Println(0)
}

一分支多值

var a ="mum"
switch a{
case "mum","daddy":
	fmt.Println("family")
}

分支表达式:

var r int =11
switch{
case r>10&&r<20
	fmt.Println(r)
}

注意:switch后面不再跟判断变量,连判断的目标都没有了。

fallthrough:
如果想让go语言的case像c语言那样,执行完当前case紧接着执行下一个,需要用到fallthrough关键字。

goto

goto语句可以在代码间无条件的跳转。

使用goto集中处理错误:

package main

import (
	"fmt"
)

func main() {
	for x := 0; x < 10; x++ {
		for y := 0; y < 10; y++ {
			if y == 2 {
				//跳转到标签
				goto breakHear
			}
		}
	}
	//手动返回,避免执行进入标签
	return

	//标签
breakHear:
	fmt.Println("done")
}

break和continue

这两个不多介绍。break可以跳出多层循环。continue结束当前循环,继续下一次循环。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值