使用Javascript完成新手进入此处的操作。 我希望执行一个基本循环,并在其中包含if语句,但是,没有得到预期的结果。
package main
import (
"fmt"
)
func looper(x int) {
sum := 0
for sum < 10 {
if x == sum {
fmt.Print("Match")
return
} else {
fmt.Println("No Match")
}
}
}
func main() {
looper(8)
}
我希望当迭代器变量“ sum”的值等于8时会打印“匹配”。
相反,我得到了很多“ No Match”。
答案 0 :(得分:2)
也许您正在寻找这样的东西:
package main
import (
"fmt"
)
func looper(x int) {
for sum := 0; sum < 10; sum++ {
if x == sum {
fmt.Print("Match")
return
} else {
fmt.Println("No Match")
}
}
}
func main() {
looper(8)
}
答案 1 :(得分:1)
代码无法正常工作的主要原因是因为您的for循环中没有计数器,因此它实际上处于无穷循环中,并且不会终止。
for循环的格式如下:
for i := 0; i < <some_terminating_value>; i++ {
do stuff
}
要求:“我希望当迭代器变量'sum'的值等于8时打印'Match'。相反,我会得到很多'No Match'。”
仅看您的代码,您对尝试执行的操作的解释似乎就冲突了。
您的要求似乎在存在sum == x且没有其他内容的情况下指定打印“匹配”,但是您的代码正在打印“不匹配” 7次并在第8次迭代中“匹配”。
只要超出您的要求,您的代码应如下所示:
package main
import (
"fmt"
"strconv"
)
func looper(x int) {
for i := 0; i <= x; i++ {
if i == x {
fmt.Print("Value: " + strconv.Itoa(i) + " = Match")
return
}
}
}
func main() {
looper(8)
}
关闭代码后,该函数应如下所示:
package main
import (
"fmt"
)
func looper(x int) {
for i := 0; i <= x; i++ {
if i == x {
fmt.Print("Match")
return
} else {
fmt.Println("No Match")
}
}
}
func main() {
looper(8)
}
答案 2 :(得分:1)
如果要使用while
样式循环,只需增加sum
变量
package main
import (
"fmt"
)
func looper(x int) {
sum := 0
for sum < 10 {
if x == sum {
fmt.Print("Match")
return
} else {
fmt.Println("No Match")
}
sum++ //<----------------------------HERE
}
}
func main() {
looper(8)
}
答案 3 :(得分:0)