随笔 - 241  文章 - 1  评论 - 58  阅读 - 85万 

前言

流程控制顾名思义就是  控制程序执行流程的语句 for循环、if else判断 

 

一、if分支

 

if 条件循环语句 声明变量

Go的if条件分支里也可以声明和初始化变量;

 

 

  • 先执行英文分号(;)左边:sumAB(1, 2)函数,声明和初始化变量sumResult;
  • 再执行英文分号(;)右边:sumResult <= 3,    对sumResult变量值进行判断判断;

但是该变量只能在 if分支的作用域使用,这样也起到了节省内存的作用;

package main
 
import (
    "fmt"
)
 
//if 条件判断开辟作用域
func main() {
    if age := 19; age > 18 {
        fmt.Println("已经成年")
    }
    fmt.Println(age) //这里无法引用到age变量因为在if中声明的变量只能在if分支的作用域使用
 
}

 

switch语句  

使用switch语句简化 多个if条件判断

  

二、for循环

在go语言中for循环有4种形式

1.for 什么也不加

死循环就是for后面没有声明变量、条件表达式、累计算操作。

for{
    time.Sleep(time.Second*1)//等1秒再往下继续执行
  }

2.for+条件表达式;

go的for循环是每次执行完{ }里面的代码块,又回到for 表达式的位置 {},判断这个表达式是否仍然成立。

果表达式仍然成立,继续进入for循环,否则退出for循环!

var number int8
for number < 10 {
   time.Sleep(time.Second * 1) //等1秒再往下继续执行
   fmt.Println("红鲤鱼与绿鲤鱼与驴")
   number ++
       }

3.for+声明变量;+条件表达式;

for循环开始时会声明1个变量i:=0;然后判断i<10;进入for循环代码块{}

执行完了for循环代码块{}中的内容,会回到i<10;再次判断,然后再次进入for循环代码块{}

这种方式简化了以上在for循环代码块{}里面声明变量并操作的步骤

注意这种方式声明的i,在for循环作用域外面是,获取不到的。

for i:=0;i<10;{
    i++
    fmt.Println("您好")
    }

4.for+声明变量;+条件表达式;+累计计算;

设置i的初始值为0,当i小于10时,每次循环i+1

for i:=10;i>0;i-=2{
    fmt.Println("您好")
    }
 
 
5.for循环设置标签
Go语言比较特殊的地方是我们可以对Go的for循环设置1个标签,然后在内层循环中使用continue、break 该标签,可以到达影响外层循环的效果。
复制代码
f1:
   for i := 1; i < 3; i++ {
    for j := 1; j < 5; j++ {
        f j == 3 {
        continue f1
            }
        fmt.Println(i, j)
        }
    }
}
复制代码

 

break指定循环

复制代码
f1: //对外层for循环,进行标记。
    for i := 1; i < 3; i++ {
        for j := 1; j < 5; j++ {
            if j == 3 {
                //使用标签break 外层循环
                break f1
            }
            fmt.Println(i, j)
        }
    }
复制代码

 

6.goto语法

goto语句可以跳跃(go to)到指定的代码行,然后向下执行代码。 

复制代码
package main

import "fmt"

func main() {
    var name string
    fmt.Print("请输入用户名:")
    fmt.Scan(&name)
    if name == "VIP" {
        goto VIP     //跳跃到VIP代码块,开始执行
    } else if name == "SVIP" {
        goto SVIP   //跳跃到SVIP代码块,开始执行
    } else {         //跳跃到Ordinary代码块,开始执行
        goto Ordinary
    }
Ordinary:
    fmt.Println("预约......")
VIP:
    fmt.Println("等号........")
SVIP:
    fmt.Println("进入........")
}
复制代码

 

三、for循环练习

 

for rang键值对循环

 

break 和 continue

 

break and continue代码跳转

  

 

  

Go打印乘法表

 

Goto 跳出多层for循环

  

 

 

 

 

参考

posted on   Martin8866  阅读(210)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示