ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# 控制语句 1. if条件判断 > if条件判断:在布尔表达式里面可以定义变量,并行赋值.变量的作用域只能作用在代码块里面. ```go // 格式: if <布尔表达式>{ 语句块 }else if <布尔表达式>{ 语句块 }else{ 语句块 } // 定义i=5 输出5,下面一句会编译出错 if i:=5;i<10{ print(i) } print(i) ``` 2. 循环控制 > go可以使用for完成所有的循环操作,变量的作用域只能作用在代码块里面 ```go //经典for循环结构 for i:=1;i<100;i++{ print(i) } //单条件(while式)for循环结构 for true{ print("进入死循环") } // 无条件式 for { print("hello") } ``` 3. switch语句 > switch不需要使用break,自动进行跳出,若需要连续条件选择,使用fallthrough。 ```go // 常规操作 i := 3 switch i{ case 1: print(1) case 2: print(2) case 3: print(3) default: print(4) } // 在表达式中定义变量 switch i=3; { case i==1: print(1) case i==2: print(2) case i==3: print(3) default: print(4) } // 使用fallthrough 输出2 3 i := 2 switch i{ case 1: print(1) case 2: print(2) fallthrough case 3: print(3) default: print(4) } ``` 4. 跳转语句 > goto break continue 三者均可以执行跳转。 > goto用于调整执行位置。使用时,注意标签的位置 > break用于循环语句中跳出循环,并开始执行循环之后的语句 > continue不是跳出循环,而是跳过当前循环执行下一次循环语句,一般用于for 循环中,触发for增量语句的执行。 ```go //goto操作 这里输出 你好,这里是跳转 START: print("你好,这里是跳转") os.Exit(1) for i:=1; i<3;i++ { goto START } print("这里是测试是否跳转") // break操作 输出 跳出了循环start START: for i:=1;i<=2 ;i++ { break START } print("跳出了循环start") //continue操作 输出 2 4 6 8 for i:=1;i<10 ;i++ { if(i%2!=0){ continue } print(i) } ```