mirror of
https://gitee.com/shikong-sk/golang-study
synced 2025-02-23 23:42:15 +08:00
73 lines
1.5 KiB
Go
73 lines
1.5 KiB
Go
package main
|
|
|
|
import (
|
|
"fmt"
|
|
"math/rand"
|
|
"time"
|
|
)
|
|
|
|
func main() {
|
|
// 设置随机数种子
|
|
seed := rand.NewSource(time.Now().UnixNano())
|
|
r := rand.New(seed)
|
|
|
|
for i := 0; i < 5; i++ {
|
|
// 写法一
|
|
switch t := r.Intn(100); t / 10 {
|
|
case 0, 1, 2:
|
|
fmt.Println("t 在 [ 0~30) 之间", t)
|
|
case 3, 4, 5:
|
|
fmt.Println("t 在 [30~50) 之间", t)
|
|
// fallthrough 类似 C语言中 没有添加 break 的情况 继续往下执行
|
|
fallthrough
|
|
|
|
case 6, 7, 8:
|
|
if t < 60 {
|
|
fmt.Println("6? || 7? || 8? 这不是你该来的地方")
|
|
} else {
|
|
fmt.Println("t 在 [60~90) 之间", t)
|
|
}
|
|
fallthrough
|
|
case 9:
|
|
if t < 90 {
|
|
fmt.Println("9? 这不是你该来的地方")
|
|
} else {
|
|
fmt.Println("t 在 [90~100) 之间", t)
|
|
}
|
|
fallthrough
|
|
default:
|
|
fmt.Println("至少 t 是一个数字 => ", t)
|
|
}
|
|
|
|
fmt.Println("=========================================================")
|
|
|
|
// 写法二 表达式
|
|
switch t := r.Intn(100); {
|
|
case t < 30:
|
|
fmt.Println("t 在 [ 0~30) 之间", t)
|
|
case t < 50:
|
|
fmt.Println("t 在 [30~50) 之间", t)
|
|
fallthrough
|
|
case t < 80:
|
|
if t < 60 {
|
|
fmt.Println("6? || 7? || 8? 这不是你该来的地方")
|
|
} else {
|
|
fmt.Println("t 在 [60~90) 之间", t)
|
|
}
|
|
fallthrough
|
|
case t < 100:
|
|
if t < 90 {
|
|
fmt.Println("9? 这不是你该来的地方")
|
|
} else {
|
|
fmt.Println("t 在 [90~100) 之间", t)
|
|
}
|
|
fallthrough
|
|
default:
|
|
fmt.Println("至少 t 是一个数字 => ", t)
|
|
}
|
|
|
|
fmt.Println("=========================================================")
|
|
}
|
|
|
|
}
|