惠州网站建设米普可思,wordpress 去谷歌,海南省住房和城乡建设厅官网网站首页,wordpress怎么调用多语言Golang选择语句 1. if 语句1.1 基本语法1.2 if-else 语句1.3 if-else if-else 语句1.4 简短声明和初始化1.5 多个条件的逻辑运算 2. switch 语句2.1 基本语法2.2 示例2.3 switch 语句与 if 的对比2.4 不指定表达式2.5 fallthrough 语句2.6 case 支持多个值 3. 总结 Go语言中的选… Golang选择语句 1. if 语句1.1 基本语法1.2 if-else 语句1.3 if-else if-else 语句1.4 简短声明和初始化1.5 多个条件的逻辑运算 2. switch 语句2.1 基本语法2.2 示例2.3 switch 语句与 if 的对比2.4 不指定表达式2.5 fallthrough 语句2.6 case 支持多个值 3. 总结 Go语言中的选择语句主要有两种if语句和switch语句它们用于根据条件执行不同的代码块。 1. if 语句
1.1 基本语法
if 语句根据条件表达式的布尔值来决定是否执行某段代码。条件表达式的结果必须是一个布尔值。
if condition {// 如果 condition 为 true执行这里的代码
}其中condition 是一个布尔表达式可以是任何返回布尔值的表达式。如果表达式结果为 true就执行大括号 {} 内的代码块如果结果为 false则跳过该代码块。
1.2 if-else 语句
如果条件不成立else 语句将执行。else 是可选的可以不使用。
x : 7
if x 10 {fmt.Println(x 大于 10)
} else {fmt.Println(x 小于或等于 10)
}这里x 小于等于 10所以将输出x 小于或等于 10。
1.3 if-else if-else 语句
当有多个条件需要判断时可以使用 else if 来处理多个条件。每个 else if 后面都跟一个条件表达式多个 else if 和 else 语句可以组合在一起进行多分支判断。
x : 15
if x 20 {fmt.Println(x 大于 20)
} else if x 15 {fmt.Println(x 等于 15)
} else {fmt.Println(x 小于 15)
}输出是x 等于 15因为 x 等于 15。
1.4 简短声明和初始化
Go 语言的 if 语句支持在条件判断语句中声明和初始化变量。这通常用于减少作用域的范围避免在函数的其他地方污染变量。
if x : 10; x 5 {fmt.Println(x 大于 5)
}在这个例子中x 被声明并初始化为 10然后判断 x 5因为条件为真所以打印 x 大于 5。注意 x 的作用域只限于 if 语句块内部。
1.5 多个条件的逻辑运算
我们可以使用 逻辑与和 ||逻辑或在 if 条件中组合多个判断。
x : 7
y : 10
if x 5 y 15 {fmt.Println(x 大于 5 且 y 小于 15)
}if x 10 || y 5 {fmt.Println(x 大于 10 或者 y 大于 5)
}2. switch 语句
switch 语句用于根据不同的条件选择不同的执行路径。它比多个 if-else 语句更简洁特别是当需要进行多重判断时。
2.1 基本语法
switch expression {
case value1:// 如果 expression value1执行此块代码
case value2:// 如果 expression value2执行此块代码
default:// 如果没有匹配的值执行此块代码
}expression 是要检查的表达式可以是常量、变量、函数调用等。case 后面是要与 expression 比较的值。只有 expression 的值与某个 case 的值相等时才会执行该 case 对应的代码块。default 是可选的如果没有任何 case 匹配执行 default 的代码。
2.2 示例
day : 3
switch day {
case 1:fmt.Println(星期一)
case 2:fmt.Println(星期二)
case 3:fmt.Println(星期三)
default:fmt.Println(未知的星期)
}根据 day 的值选择执行不同的代码块。如果 day 为 3输出 星期三。
2.3 switch 语句与 if 的对比
switch 在多个条件判断时通常比多个 if-else 更清晰。例如下面的 if-else 语句可以用 switch 改写得更简洁
x : 10
if x 1 {fmt.Println(x 等于 1)
} else if x 2 {fmt.Println(x 等于 2)
} else if x 3 {fmt.Println(x 等于 3)
} else {fmt.Println(x 不是 1、2 或 3)
}可以用 switch 改写成
switch x {
case 1:fmt.Println(x 等于 1)
case 2:fmt.Println(x 等于 2)
case 3:fmt.Println(x 等于 3)
default:fmt.Println(x 不是 1、2 或 3)
}2.4 不指定表达式
如果 switch 后面不指定表达式Go 会默认每个 case 与 true 进行比较。这意味着所有的 case 都是布尔表达式。
x : 10
switch {
case x 5:fmt.Println(x 大于 5)
case x 10:fmt.Println(x 等于 10)
default:fmt.Println(x 小于 5)
}这个例子相当于多个 if-else 语句首先判断 x 5 是否为真然后判断 x 10 是否为真。
2.5 fallthrough 语句
Go 的 switch 语句在匹配一个 case 后默认会终止不会继续执行下面的 case。如果希望继续执行下一个 case需要使用 fallthrough 语句。
switch day : 2; day {
case 1:fmt.Println(星期一)fallthrough
case 2:fmt.Println(星期二)fallthrough
case 3:fmt.Println(星期三)
}在这个例子中不管 day 是 1、2 还是 3都会依次打印出所有的匹配项。注意fallthrough 会强制跳过条件判断继续执行下一个 case。
2.6 case 支持多个值
Go 的 case 支持用逗号分隔多个值进行匹配相当于多个条件判断。
x : 2
switch x {
case 1, 2, 3:fmt.Println(x 是 1、2 或 3)
default:fmt.Println(x 不是 1、2 或 3)
}这里case 1, 2, 3 等价于 case 1: case 2: case 3:所以会输出 x 是 1、2 或 3。
3. 总结
if 语句适用于少数条件判断。通过简单的布尔判断或 else if 可以实现多重条件判断。switch 语句适用于多个条件判断特别是当需要对多个常量或变量进行匹配时。switch 语句的可读性高避免了多个 if-else 的繁琐和混乱。fallthrough允许在匹配到某个 case 后继续执行下一个 case这是 Go 语言 switch 特有的特性。switch 无表达式可以像一系列 if-else 语句一样工作不需要指定一个常量表达式。