-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path条件和控制
109 lines (99 loc) · 2.07 KB
/
条件和控制
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
################
package main #
import "fmt" #
################
1.GO语言if语句
func main() {
var a int = 10
//if语句中的变量,只在if内有效。跳出{}就失效了
if a:=1; a >0 {
fmt.Println(a)
}
fmt.Println(a)
}
fmt.Println(a)
}
2.GO语言中的for语句
func main() {
var a int = 1
for { a++;
if a >=3 { break;} //如果a 大于或者等于3跳出循环
fmt.Println(a);
}
}
3.GO语言for i++
func main() {
var a int = 1
for i :=1; i<5; i++ {
a++
fmt.Println(a)
}
fmt.Println("Over");
}
4.GO语言switch case
func main() {
var a int =1
switch {
case a==1:
fmt.Println("a=1")
fallthrough //fallthrough继续执行
case a>0 && a<5: // && 和 多条件
fmt.Println("5>a>1")
default:
fmt.Println("None")
}
}
5.控制语句
break 语句 经常用于中断当前 for 循环或跳出 switch 语句
continue 语句 跳过当前循环的剩余语句,然后继续进行下一轮循环。
goto 语句 将控制转移到被标记的语句。
5.1 GO语言continue语法 跳过当前循环-到标签LABEL1剩余循环上
func main() {
LABEL1:
for i :=1; i <10; i++ {
fmt.Println(i)
for true {
continue LABEL1 //跳过当前循环
fmt.Printf("这是无限循环。\n");
}
}
fmt.Println("OK")
}
5.2 GO语言goto语法将控制转移到标签LABEL1上
func main() {
for {
for i :=1; i <10; i++ {
fmt.Println(i)
if i>3 {
goto LABEL1;
}
}
}
LABEL1:
fmt.Println("OK")
}
5.3 GO语言break语法将控制转移到标签LABEL1上
func main() {
LABEL1:
for {
for i :=1; i <10; i++ {
fmt.Println(i)
if i>3 {
break LABEL1;
}
}
}
fmt.Println("OK")
}
5.4条件判断
func main() {
if *get_ip == "AAA" {
get_external()
}
if *get_ip == "BBB" {
get_internal()
}
if ( *get_ip != "AAA" || *get_ip != "BBB") {
fmt.Println("Usage of ./getmyip --get_ip=(external|internal)")
}
}