• 四、Go中的条件判断和for循环


    一、if条件判断

    代码:

    package main
    
    import "fmt"
    
    func main() {
    	//if 条件判断
    	score := 50
    	judgingGrades(score)
    
    }
    
    /*
    *
    go语言中 if的用法
    */
    func judgingGrades(score int) {
    	if score >= 90 {
    		fmt.Println("优等生")
    	} else if score >= 80 || score >= 70 {
    		fmt.Println("中等生")
    	} else if score >= 60 {
    		fmt.Println("刚好及格")
    	} else {
    		fmt.Println("差生")
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27

    二、for循环

    package main
    
    import (
    	"fmt"
    )
    
    func main() {
    
    	/**
    	go语言中只有 for循环
    	没有 while while -true 这样的 在go语言中 都用 go来写了
    	*/
    
    	fmt.Println("-------------------for循环写法------------------")
    
    	// 第一种 写法
    	var i int
    	for i = 0; i <= 100; i++ {
    		//如果 i 够了100的话 就换行输出
    		if i == 100 {
    			fmt.Println(i)
    		} else {
    			fmt.Print(i)
    		}
    
    	}
    	//第二种写法
    	for ; i <= 100; i++ {
    		//如果 i 够了100的话 就换行输出
    		if i == 100 {
    			fmt.Println(i)
    		} else {
    			fmt.Print(i)
    		}
    
    	}
    	//第三种写法
    	for j := 0; j <= 100; j++ {
    		fmt.Print(j)
    	}
    	fmt.Println("------------------- while-true写法------------------")
    	var c int
    	for c < 3 {
    		fmt.Println("循环了几次呢", c)
    		c++
    	}
    	fmt.Println("-------------------死循环写法------------------")
    	//for {
    	//	//死循环就是不叫条件
    	//	fmt.Println("死循环----")
    	//}
    
    	fmt.Println("-----------------------------------------for循环求 1-100的和")
    	var sum1 int
    	for a := 0; a <= 100; a++ {
    		sum1 += a
    	}
    	fmt.Println("1-100的和是", sum1)
    	fmt.Println("-----------------------------------------for循环 九九乘法表")
    
    	for t := 1; t <= 9; t++ {
    		for y := 1; y <= t; y++ {
    			fmt.Printf("%d*%d=%d ", t, y, t*y)
    		}
    		fmt.Println()
    	}
    
    	// 相当于 java 里面的 foreach
    	// 语法 for index, value := range 集合对象,字符串
    	//
    	fmt.Println("----------------------------------------- for循环遍历对象")
    
    	name := "this is a pig 中文"
    	for index, value := range name {
    		fmt.Printf("%d,%c \n", index, value)
    	}
    
    	// ---------------------------------------------------- for循环退出
    	// break 和
    	for i := 0; i < 100; i++ {
    		//如果 i ==9的话 就跳过9 进下一次循环
    		if i == 9 {
    			continue
    		}
    		// 如果 i ==10的话 就跳出循环 不走了就
    		fmt.Print(i)
    		if i == 10 {
    			break
    		}
    	}
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    • 77
    • 78
    • 79
    • 80
    • 81
    • 82
    • 83
    • 84
    • 85
    • 86
    • 87
    • 88
    • 89
    • 90
    • 91
    • 92

    三、switch

    package main
    
    import "fmt"
    
    /*
    *
    
    	switch var1 {
    		case val1:
    			.....
    		case val2:
    			.....
    		default:
    			.....
    	}
    */
    func main() {
    
    	verSocre(91)
    
    	var level int
    	level = 2
    	switch level {
    	case 1:
    		fmt.Println("省级")
    	case 2:
    		fmt.Println("市级")
    	default:
    		fmt.Println("其他级别")
    
    	}
    
    }
    
    func verSocre(score int) {
    	switch {
    	case score > 90:
    		fmt.Println("优等生")
    	case score > 80:
    		fmt.Println("中等生")
    	case score > 70:
    		fmt.Println("中等生")
    	default:
    		fmt.Println("差等生")
    	}
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48

    四、goto语句

    package main
    
    import "fmt"
    
    /*
    *
    
    	goto 语句 可以让我们的代码 调到指定的代码块中运行,灵活度很高
    	一般情况下很少用。
    	goto语句使用场景最多的地方,就是对程序的错误处理
    */
    func main() {
    
    	// 假如现在让实现 这么一个场景  当 j == 2的时候 整个循环都不走了
    	// 如果我们使用 break的话 他跳出的是 当前循环 并没有都跳出去 所以这里使用 goto
    	for i := 0; i < 5; i++ {
    		for j := 0; j < 4; j++ {
    			if j == 2 {
    				//break
    				goto over
    			}
    			fmt.Println(i, j)
    		}
    	}
    over:
    	fmt.Println("程序马上终止完成")
    
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
  • 相关阅读:
    SAP数据元素描述增强修改
    为什么大厂压力大,竞争大,还有这么多人热衷于大厂呢?
    AcWing 第57 场周赛
    算法通过村第六关-树青铜笔记|中序后序
    SP2-1503|0152:CMD窗口的SQLPLUS命令无法登录Oracle
    Linux开源IM GGTalk 8.0发布,支持在统信UOS、银河麒麟上运行!
    Netty——NIO(Selector)
    【深度学习】You Only Segment Once: Towards Real-Time Panoptic Segmentation,YOSO全景分割
    暑假算法训练day7(并查集)
    github一些有趣的使用场景和基本使用方法
  • 原文地址:https://blog.csdn.net/qq_44605317/article/details/132777266