golang学习-流程控制

2024-01-10 07:40:18
  • 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")

文章来源:https://blog.csdn.net/qq_36770474/article/details/135476361
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。