04-条件判断、循环
发布于 2026-08-20
04-条件判断、循环
条件判断
1、if
表达式也可以添加括号
if、else、if else
go
if 表达式 {
...
}2、switch
基础语法
go
switch 变量 {
case 值1:
代码
case 值2:
代码
default:
都不匹配时执行
}不带表达式(类似条件判断)
go
switch {
case 条件1:
代码
case 条件2:
代码
default:
代码
}一个case多个值
go
switch 变量 {
case 值1, 值2, 值3: // 多个值用逗号分隔
代码
}fallthrough(注意):在go语言中每个 case 自带 break,不用手动写,但是想进入到下一个 case,必须写 fallthrough
循环
1、for
go的循环只有for循环,没有while
go
for 初始值; 条件判断; 当前循环结束后的逻辑 {
...
}例如:
go
for i := 0; i < 10; i++ {
println(i)
}三个参数都可以省略,如果都不写就是一个死循环,等价于其他语言的while(true)
go
var i int
for {
fmt.Println(i)
i++
}打印中文:需要转为rune
go
name := "xiaotian小天"
nameRune := []rune(name)
for i := 0; i < len(nameRune); i++ {
fmt.Printf("%c", nameRune[i])
}2、for range
go中的for...range等价于js的for...of语法。主要使用在字符串、数组、切片、map、channel进行遍历。
go
for key, value := range 数据 {
// ...
}例如:
go
name := "xiaotian"
for key, value := range name {
fmt.Println(key, value)
}3、continue
结束当前循环
4、break
退出整个循环
5、goto
goto语句可以跳转到指定代码块执行
输出: