Golang基础-四、流程控制-《Golang,Go,Go,Go学习笔记》

admin 2026-03-24 10:15:14 编程 来源:ZONE.CI 全球网 0 阅读模式
  • 1.流程控制
  • 2.顺序结构
  • 3.选择结构
  • 4.循环结构

    1.流程控制

    1. - 控制代码的执行顺序,根据基本结构实现复杂的程序流程控制。基本结构分别有顺序结构、选择结构和循环结构。

    2.顺序结构

    1. - 顺序结构按照一步步写出的语句执行,当没有别的流程控制语句时程序可以从上到下依次执行。

    3.选择结构

    1. - 选择结构由if语句和switch语句实现,它们分别是条件分支和多分支语句。

    4.循环结构

    1. - 条件满足的情况,会去循环0 - N次:for

    if

    1. - 条件分支语句是根据表达式的真假决定程序的走向。其中的判断条件是控制程序执行的关键,用 if...else来表示。格式如下:
    2. * <font style="color:rgb(51, 51, 51);">if 单独存在</font>
    3. * <font style="color:rgb(51, 51, 51);">if ... else</font>
    4. * <font style="color:rgb(51, 51, 51);">if ... elseif ... else if ... else</font>
    1. func main() {
    2. var num int = 15
    3. // if
    4. if num > 100{
    5. fmt.Println("num>100")
    6. }
    7. if num < 100 {
    8. fmt.Println("num<100")
    9. }
    10. //if ... else
    11. if num>100{
    12. fmt.Println("num>100")
    13. }else{
    14. fmt.Println("num<100")
    15. }
    16. // if ... elseif ... else if ... else
    17. var score int
    18. fmt.Println("请输入数字:")
    19. fmt.Scan(&score) //用于控制台接收输入
    20. if score>=90 && score<=100{
    21. fmt.Println("A")
    22. }else if score>=80 &&score<=90{
    23. fmt.Println("B")
    24. }else if score>=70 &&score<=80{
    25. fmt.Println("C")
    26. }else if score>=60 &&score<=70{
    27. fmt.Println("D")
    28. }else {
    29. fmt.Println("E")
    30. }
    31. }
    1. **switch**

    1.基本使用switch…case…defalut

    1. score := 100
    2. switch score{
    3. case 100:
    4. fmt.Println(score) //输出100
    5. case 90:
    6. fmt.Println(score)
    7. default:
    8. fmt.Println(score)
    9. }
    10. //省略条件 默认为true
    11. switch {
    12. case true:
    13. fmt.Println("true") //输出true
    14. case false:
    15. fmt.Println("false")
    16. default:
    17. fmt.Println("defalut")
    18. }
    1. 2.需要多个条件输出,case穿透:fallthrough
    1. f := true
    2. switch f{
    3. case true:
    4. fmt.Println("true") //输出true
    5. fallthrough //强行执行下一个case
    6. case false:
    7. fmt.Println("false") //输出false,
    8. fallthrough //强行执行下一个case
    9. case true:
    10. fmt.Println("true2") //输出true2
    11. default:
    12. fmt.Println("defalut")
    13. }

    3.终止case:break

    1. f := true
    2. switch f{
    3. case true:
    4. fmt.Println("true") //输出true
    5. fallthrough //强行执行下一个case
    6. case false:
    7. fmt.Println("false") //输出true2
    8. fallthrough //强行执行下一个case
    9. case true:
    10. if f==true{
    11. break //满足条件 终止输出
    12. }
    13. fmt.Println("true2")
    14. default:
    15. fmt.Println("defalut")
    16. }

    for循环

    for i:=0;i<=10;i++{

    fmt.Println(“xxx”)

    }

    1. func main() {
    2. sum:=0 //接收最后的结果
    3. for i := 0; i <=10 ; i++ {
    4. sum+=i
    5. }
    6. fmt.Println(sum)
    7. }

    for循环的结束与终止:continue 与 break

    continue 结束当前循环,继续下一次循环

    1. break 终止整个循环
    1. for i:=0;i<=10;i++{
    2. fmt.Println(i)
    3. if i==5{
    4. fmt.Println("i=5,停止循环")
    5. break
    6. }
    7. }
    8. for i := 0; i < 10; i++ {
    9. if i==5 {
    10. fmt.Println("跳出当前循环,不往下执行,继续下一个循环")
    11. continue
    12. }
    13. fmt.Println(i)
    14. }
    1. func main() {
    2. var admin string
    3. var pass int
    4. sum := 0 //记录登录错误次数
    5. for {
    6. //接收输入的用户名密码
    7. fmt.Println("请输入用户名:")
    8. fmt.Scan(&admin)
    9. fmt.Println("请输入密码:")
    10. fmt.Scan(&pass)
    11. if admin == "admin" && pass == 123 {
    12. fmt.Println("登录成功")
    13. break
    14. } else {
    15. fmt.Println("请重新输入用户名和密码")
    16. sum++
    17. if sum == 3 {
    18. fmt.Println("已连续输入错误3次,已退出")
    19. break
    20. }
    21. }
    22. }
    23. }
    评论:0   参与:  0