请问一下这代码为什么没有运行结果啊(for+switch)
haozi · 2022-02-13 21:45:26 · 1199 次点击 ·
大约8小时之前 开始浏览
置顶
这是一个创建于 2022-02-13 21:45:26 的主题,其中的信息可能已经有所发展或是发生改变。
有疑问加站长微信联系(非本文作者)
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
13 回复 | 直到 2022-02-22 16:29:40
下面是代码的原文哈
package main import( "fmt" "math/rand" )
func main(){ const num0 = 55 var num = rand.Intn(100) + 1 for num == num0{ switch{ case num == num0: fmt.Println("U r right! The value is ",num0,"!") case num > num0: fmt.Println("The value should be greater!") num = rand.Intn(100) + 1 case num < num0: fmt.Println("The value should be less!") num = rand.Intn(100) + 1 } } }
把 for 删了不就完了 💦
package main import( "fmt" "math/rand" )
func main(){ const num0 = 55 var num = rand.Intn(100) + 1 re: for { switch { case num == num0: fmt.Println("U r right! The value is ",num0,"!") break re case num > num0: fmt.Println("The value should be greater!") num = rand.Intn(100) + 1 case num < num0: fmt.Println("The value should be less!") num = rand.Intn(100) + 1 } } }
你先搞清楚你用的这句for的意思,什么情况下会执行。
这样就可以看一下效果了~
for 写成死循环 猜对了直接break or return
建议==换成!=
这么喜欢用for 在外面在用一个 for 就行啦
不加seed 就不是随机数?main 函数只要不退出 每次获取的就是随机数
小黄鸭调试法走一遍,你就知道为什么了。
num == num0 没有匹配到直接跳过了呀。
debug调试一下就知道为啥了
for 语句都有错了, 这样写没有break不报错吗,万一true了 不是死循环