Golang流程控制

if else

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
package main

import "fmt"

/*
字符串比大小
比首字符在字符集中出现的序号,首字符相同则比较第二个字符,以此类推
go的编译器默认使用UTF8字符集
在UTF8字符集中数字出现的顺序为:0123456789
*/
func main031() {
fmt.Println("0">"9")
fmt.Println("012">"011")
fmt.Println("0823">"0423")
}

/*
根据用户输入的生日判断其星座:
①单分支:如果位于0823-0922之间(处女座),输出“阁下真乃神人也!”
*/
func main032() {
var birthday string
fmt.Println("请输入您的生日,例如0823")
fmt.Scan(&birthday)

if birthday >= "0823" && birthday<="0922"{
fmt.Println("阁下真乃神人也")
}

fmt.Println("诊断结束!")
}

/*
根据用户输入的生日判断其星座:
②双分支:如果位于0823-0922之间(处女座),输出“阁下乃神人也!”,否则输出“垃圾”
*/
func main033() {
var birthday string
fmt.Println("请输入您的生日,例如0823")
fmt.Scan(&birthday)

if birthday > "0822" && birthday < "0923"{
fmt.Println("阁下真乃神人也")
}else{
fmt.Println("乐色")
}
}

else if 多分支

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
根据用户输入的生日判断其星座:
③多分支:判断其具体星座
*/
func main034() {
var birthday string
fmt.Println("请输入您的生日,例如0823")
fmt.Scan(&birthday)

if birthday >= "0823" && birthday <= "0922"{
fmt.Println("阁下真乃神人也")
}else if birthday >= "0923" && birthday <= "1022"{
fmt.Println("阁下是天秤座")
}else if birthday >= "1023" && birthday <= "1122"{
fmt.Println("阁下是天蝎座")
}else if birthday >= "1123" && birthday <= "1222"{
fmt.Println("阁下是射手座")
}else if (birthday >= "1223" && birthday <= "1231") || (birthday>="0101" && birthday<="0122"){
fmt.Println("阁下是摩羯座")
}else if birthday >= "0123" && birthday <= "0222"{
fmt.Println("阁下是水瓶座")
}else if (birthday >= "0223" && birthday <= "0229")||(birthday>="0301" && birthday<="0322"){
fmt.Println("阁下是双鱼座")
}else if birthday >= "0323" && birthday <= "0422"{
fmt.Println("阁下是白羊座")
}else if birthday >= "0423" && birthday <= "0522"{
fmt.Println("阁下是金牛座")
}else if birthday >= "0523" && birthday <= "0622"{
fmt.Println("阁下是双子座")
}else if birthday >= "0623" && birthday <= "0722"{
fmt.Println("阁下是巨蟹座")
}else if birthday >= "0723" && birthday <= "0822"{
fmt.Println("阁下是狮子座")
}else{
fmt.Println("阁下就是传说中的蛇夫座鸭!")
}

}

SWITCH

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package main

import "fmt"

/*
@星座诊所2(switch)
根据用户输入的出生月份猜测其星座:
·白羊(4) 金牛(5) 双子(6) 巨蟹(7) 狮子(8) 处女(9) 天平(10) 天蝎(11) 射手(12) 摩羯(1) 水瓶(2) 双鱼(3)
·使用单点case判断其星座;
·使用单点case集合判断其季节(春夏秋冬)
·使用自由条件case判断用户具体星座
*/

func main041() {
fmt.Println("请输入你的出生月份(1-12)")
var month int
fmt.Scan(&month)
fmt.Printf("month=%d", month)

/*
对month的可能取值,做单点判断
*/
switch month {
case 1:
fmt.Printf("你大概率是%s座\n", "摩羯")
case 2:
fmt.Printf("你大概率是%s座\n", "水瓶")
case 3:
fmt.Printf("你大概率是%s座\n", "双鱼")
case 4:
fmt.Printf("你大概率是%s座\n", "白羊")
case 5:
fmt.Printf("你大概率是%s座\n", "金牛")
case 6:
fmt.Printf("你大概率是%s座\n", "双子")
case 7:
fmt.Printf("你大概率是%s座\n", "巨蟹")
case 8:
fmt.Printf("你大概率是%s座\n", "狮子")
case 9:
fmt.Printf("你大概率是%s座\n", "处女")
case 10:
fmt.Printf("你大概率是%s座\n", "天平")
case 11:
fmt.Printf("你大概率是%s座\n", "天蝎")
case 12:
fmt.Printf("你大概率是%s座\n", "射手")

//month的值没有落在上述任何一种情形中
//default是可选的
default:
fmt.Println("你就是传说中的蛇夫座")
}
}

/*
·使用单点case集合判断其季节(春夏秋冬)
*/
func main042() {
fmt.Println("请输入你的出生月份(1-12)")
var month int
fmt.Scan(&month)

switch month {
case 12, 1, 2:
fmt.Println("你出生在冬天")
case 3, 4, 5:
fmt.Println("你出生在春天")
case 6, 7, 8:
fmt.Println("你出生在夏天")
case 9, 10, 11:
fmt.Println("你出生在秋天")
default:
fmt.Println("你出生在火星")
}
}

/*
·使用自由条件case判断其季节(春夏秋冬)
*/
func main043() {
fmt.Println("请输入你的出生月份(1-12)")
var month int
fmt.Scan(&month)

// 没有明确指定switch的对象,case可以跟任意判断条件
switch {
case month >= 3 && month <= 5:
fmt.Println("你出生在春天")
case month >= 6 && month <= 8:
fmt.Println("你出生在夏天")
case month >= 9 && month <= 11:
fmt.Println("你出生在秋天")
case month == 12 || month == 1 || month == 2:
fmt.Println("你出生在冬天")
default:
fmt.Println("你出生在火星")
}
}

/*使用fallthrough强制滚动到下一个分支并执行*/
func main044() {
fmt.Println("请输入你的出生月份(1-12)")
var month int
fmt.Scan(&month)

// 没有明确指定switch的对象,case可以跟任意判断条件
switch {
case month >= 3 && month <= 5:
fmt.Println("你出生在春天")
//强制执行下一个分支条件
fallthrough
case month >= 6 && month <= 8:
fmt.Println("你出生在夏天")
fmt.Println("我们出生在上半年")

case month >= 9 && month <= 11:
fmt.Println("你出生在秋天")
//强制执行下一个分支条件
fallthrough
case month == 12 || month == 1 || month == 2:
fmt.Println("你出生在冬天")
fmt.Println("我们出生在下半年")

default:
fmt.Println("你出生在火星")
}
}