go里面的switch
程序员文章站
2024-03-25 16:41:40
...
go里面的switch语句-是不要break的
package main
import (
"fmt"
)
func main() {
var i int = 3
// go里面的switch它找到后执行完后就不往下走了, 所以不用加break
switch i {
case 0:
fmt.Println("i的值为", i)
case 1:
fmt.Println("i的值为", i)
case 2:
fmt.Println("i的值为", i)
case 3:
fmt.Println("i的值为", i)
case 4:
fmt.Println("i的值为", i)
case 5:
fmt.Println("i的值为", i)
case 6:
fmt.Println("i的值为", i)
default:
fmt.Println("i的值不在这个范围内")
}
}
// 运行结果
i的值为 3
想把go里面的switch语句变的跟别的语言里面的switch语句一样, 需要加—fallthrough
package main
import (
"fmt"
)
func main() {
var i int = 3
switch i {
case 0:
fmt.Println("i的值为", i)
case 1:
fmt.Println("i的值为", i)
case 2:
fmt.Println("i的值为", i)
case 3:
fmt.Println("i的值为", i)
// 加上 fallthrough关键字 这样switch语句就和别的语言里面的switch语句一样了
// 但是这里把case 4走完有不会走了, 因为case 4里面没有加关键字fallthrough
fallthrough
case 4:
fmt.Println("i的值为", i)
case 5:
fmt.Println("i的值为", i)
case 6:
fmt.Println("i的值为", i)
default:
fmt.Println("i的值不在这个范围内")
}
}
// 运行结果
i的值为 3
i的值为 3
go里的switch里面的多分支可以写在一起
package main
import (
"fmt"
)
func main() {
var i int = 3
switch i {
// 多个分支都可以写在一起
case 0, 1, 2, 3, 4, 5, 6:
fmt.Println("i的值为", i)
default:
fmt.Println("i的值不在这个范围内")
}
}
// 运行结果
i的值为 3
case里可以写条件表达式
package main
import (
"fmt"
)
func main() {
var i = 0
switch {
case i > 0 && i < 10:
fmt.Println("i > 0 and i < 10")
case i > 10 && i < 20:
fmt.Println("i > 10 and i < 20")
default:
fmt.Println("def")
}
}
// 运行结果
def
switch后面可以直接初始化值
package main
import (
"fmt"
)
func main() {
// 初始化i的值
switch i := 0; {
case i > 0 && i < 10:
fmt.Println("i > 0 and i < 10")
case i > 10 && i < 20:
fmt.Println("i > 10 and i < 20")
default:
fmt.Println("def")
}
}
案例switch猜数字游戏
package main
import (
"fmt"
"math/rand"
)
func main() {
var n int
var num int
var is_true bool
// 随机生成0-100中的整数值
n = rand.Intn(100)
fmt.Println(n)
for {
fmt.Println("请输入你猜测的数字:")
fmt.Scanf("%d", &num)
switch {
case num > n:
fmt.Println("您输入的数字大了.. ")
case num < n:
fmt.Println("您输入的数字小了.. ")
default:
fmt.Println("恭喜你猜对了.. ")
is_true = true
}
if is_true == true {
break
}
}
}
// 运行结果
81
请输入你猜测的数字:
10
您输入的数字小了..
请输入你猜测的数字:
70
您输入的数字小了..
请输入你猜测的数字:
90
您输入的数字大了..
请输入你猜测的数字:
81
恭喜你猜对了..
上一篇: 什么是Restful?
下一篇: 利用CSS动画使文字滑动展示
推荐阅读