第四章:流程控制

条件判断语句:

if else语句

注意:表达式后跟的左括号必须与表达式放在同一行,否则编译无法通过
if还有一种常见写法,在表达式前面添加一个语句,使用变量接受语句的返回的值,通过对该变量的判断再选择执行分支。\

func main(){
	num := 101
	if num > 100{
		fmt.Println(a," > 100")
	}else if num == 100 {
		fmt.Println(a," = 100")
	}else{
		fmt.Println(a," < 100")
	}
	//常见写法
	if num := runtime.NumCPU; num >= 1{
		fmt.Println("程序使用的CPU核数为:",num)
	}
}
//结果为:
a > 100
程序使用的CPU核数为:2

switch语句

每个case语句都可以用If来代替,能用if就不要用switch
一般switch语句用于断言
如果需要无条件强制执行后面的case,可使用fallthrough关键字

func main(){
	switch {
		case false:
			fmt.Println("case1:false")
			fallthrough
		case true:
			fmt.Println("case2:true")
			fallthrough
		default:
			fmt.Println("默认为case")
	}
}
//结果为:
case2:true
默认为case

循环控制语句:

for 初始语句;条件表达式;赋值表达式 {循环体}
break默认跳出内层循环,可通过标签跳出最外层循环
continue与break类似

func main(){
	OuterLoop:
	for i := 0;i < 3;i++{
		if i == 2{
			break OuterLoop	//跳出标签对应循环
		}
		for j := 0;j < 3;j++{
			if j == 1{
				fmt.Println(i,j)
				continue OuterLoop   //开始标签对应循环
			}
		}
	}
}
//结果为:
0 1
1 1

跳转语句

用于代码间的无条件跳转(跳过中间的代码),不建议推荐使用,过多的goto语句会破坏程序的可读性。

go版爱心代码

func main(){
	letterList := make([]string,0)
	for y := 6;y > -6;y--{
		letters := ""
		for x := 15;x > -15;x--{
			expression := powerf((powerf(float64(x)*0.1,2)+powerf(float64(y)*0.2,2)-1),3)-powerf(float64(x)*0.1,2)*powerf(float64(y)*0.2,3)
			if expression <= 0{
				letters += "+"
			}else{
				letters += " "
			}
		}
		letterList = append(letterList,letters)
	}
	fmt.Println(strings.Join(letterList,"\n"))
}

func powerf(x float64,n int) float64{
	ans := 1.0
	for n != 0{
		if n%2 == 1{
			ans *= x
		}
		x *= x
		n /=2
	}
	return ans
}

结果为:
在这里插入图片描述

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值