golang学习-流程控制

  • if else

      建议条件不用()包裹,if{}不能省略,{}中的{必须紧靠着条件

      go语言中没有while循环,可以通过for 代替

	age := 30
	if age > 18 {
		fmt.Println("我是大人")
	}
	//另一种写法
	if age := 99; age > 18 {
		fmt.Printf("年龄是%v", age)
		fmt.Println("我是大人1")
	}
	/*
		上面两种写法的区别
		第一种写法 age是全局变量 第二种是局部变量 只能在if里面使用
	*/
  • for rang(键值循环)

go 语言中 for rang 可以遍历数组、切片、字符串、map和channel

	//遍历字符串
	str := "你好golang"
	for i, v := range str {
		// fmt.Println(i, v)
		fmt.Printf("i=%v,v=%c\n", i, v)
	}
	//遍历切片(先当做js中的数组)
	var array = []string{"php", "nodejs", "go"}
	for key, val := range array {
		fmt.Printf("key=%v,val=%v\n", key, val)
	}
  • switch 循环     fallthrough 可以执行满足条件的下一个case
	a := 2
	switch a {
	case 2:
		fmt.Println("我是2")
	}
	//另一种写方法,区别就是这里a是局部变量
	switch a := 3; a {
	case 3:
		fmt.Println("我是3")
	}
	// 一个分支可以有多个值,多个case值用,分割
	n := 1
	switch n {
	case 1, 2, 3, 4:
		fmt.Println("我不是10")
		break //golang中break可以写也可以不写
	case 10:
		fmt.Println("我是10")
		break
	}
  • 在多重循环中,可以用label跳出多重循环。
  • continue 语句,结束当前循环,进行下一次循环,只能在for循环中使用。
  • goto 语句通过标签进行代码间的无条件跳转。可以快速跳出循环、避免重复退出,下面代码打印 我是大人 333 444
    	f := 44
    	if f > 20 {
    		fmt.Println("我是大人")
    		goto lable3
    	}
    	fmt.Println("11111")
    	fmt.Println("222")
    lable3:
    	fmt.Println("333")
    	fmt.Println("444")

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值