Golang循环结构

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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
package main

import (
"fmt"
"math/rand"
"time"
)

/*
无限循环,死循环
输出我爱拉芳,一直到死
*/
func main051() {
for {
fmt.Println("我爱拉芳")
time.Sleep(1 * time.Second)
}
}

/*
有限循环
输出我爱拉芳,100遍
for 起始条件;循环条件;增长条件{
循环体
}
*/
func main052() {
/* var i int
for i = 1; i <= 10; i++ {
fmt.Printf("我爱拉芳%d年了\n", i)
time.Sleep(1000 * time.Millisecond)
}*/

for i := 0; i < 10; i++ {
fmt.Printf("我爱拉芳%d年了\n", i)
time.Sleep(1000 * time.Millisecond)
}
fmt.Println("终于可以爱别人了!")

}

/*
倒序循环
*/
func main053() {
for i := 10; i >= 1; i-- {
fmt.Println(i)
time.Sleep(500 * time.Millisecond)
}
fmt.Println("发射!")
}

/*
打印 2 4 6 8 10... 100
*/
func main054() {
for i := 2; i < 101; i += 2 {
fmt.Println(i)
}
}

/*
打一个10*5的“你妹”矩阵
*/
func main055() {

for j := 0; j < 5; j++ {
//在同一行打印十个你妹
for i := 0; i < 10; i++ {
fmt.Print("你妹\t\t")
}
fmt.Print("\n")
}
}

/*
打印九九乘法表
*/
func main056() {
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Print(j, "*", i, "=", j*i, " ")
}
fmt.Print("\n")
}
}

func GetRandom() int {
/*获得随机数*/
//当前时间距离1970年0时所逝去的时间纳秒数
seed := time.Now().UnixNano()
//使用当前时间纳秒作为随机数种子
myRandom := rand.New(rand.NewSource(seed))
//n := rand.Intn(1000)
n := 100 + myRandom.Intn(900)
//fmt.Println(n)

//将结果随机数返回给调用者
return n
}

/*
·随机生成一个3位数答案
·让用户输入其猜想
·反馈给用户:猜大了、猜小了、猜对了
·如果没猜对,就继续猜
·猜对了就退出游戏
·如果用户输入“-1”,就直接退出游戏
*/
func main057() {

START:
//随机生成一个3位数答案
answer := GetRandom()
fmt.Println(answer)
var count int = 0

for {
/*让用户输入其猜想*/
var guess int

fmt.Println("骚年请输入你的猜想(100-999),-1=退出,0=重玩,")
fmt.Scan(&guess)

/*看看用户是否想退出*/
if guess == -1 {
break
} else if guess == 0 {
goto START
}

/*反馈给用户:猜大了、猜小了、猜对了*/
count ++
if guess > answer {
fmt.Printf("猜大了,共用了%d次\n", count)
} else if guess < answer {
fmt.Printf("猜小了,共用了%d次\n", count)
} else {
fmt.Printf("猜对了,共用了%d次\n", count)
//跳出循环
break
}

}

fmt.Println("GAME OVER")
}

/*打印1-49,逢5的整数倍就跳过*/
func main058() {
var i int = 0
for {
i++

if i > 49{
//跳出整个循环
break
}

if i%5 == 0 {
//跳过本次循环的剩余部分,直接进入下一次循环
continue
}

fmt.Print("当前是:")
fmt.Println(i)

}

fmt.Println("GAME OVER")
}

func main() {
fmt.Println(GetRandom())
}