loops - Go 中的循环语法错误 : variable used as value,

标签 loops go

关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。












想改进这个问题?将问题更新为 on-topic对于堆栈溢出。

1年前关闭。




Improve this question




我对 Go 完全陌生,正在经历 https://tour.golang.org/flowcontrol/8

我尝试了以下for循环(它是否真正解决了页面带来的问题无关紧要,我只对这里的语法感兴趣)。您可以假设 zx给出:

for z < x; z -= (z*z - x) / (2*z) {
    fmt.Println(z)
}

尝试运行时出现以下错误:
./prog.go:9:36: syntax error: unexpected {, expecting semicolon or newline ./prog.go:10:17: syntax error: z -= (z * z - x) / (2 * z) used as value
我可以通过将循环更改为这样来摆脱第一个错误:
for z < x; z -= (z*z - x) / (2*z); {
    fmt.Println(z)
}

但我仍然得到第二个错误。

最佳答案

你的循环应该是这样的
for ;z < x; z -= (z*z - x) / (2*z) { fmt.Println(z) }
;应该出现在 z < x 条件之前这是因为 ,
for 循环的语法是 for [control var] ; [健康)状况] ; [迭代] {//正文 }

就一个;可以用作空语句,因此通过使用它,我们为 for 循环提供了所有必需的参数。
; x < z; x++正如您所看到的,第一个分号表示空/空语句(因为我们没有设置任何变量),第二个是条件,第三个是迭代命令。

现在你可以清楚地理解在你的第二种方法中z < x; z -= (z*z - x) / (2*z); z
希望你能理解...

关于loops - Go 中的循环语法错误 : variable used as value,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62028890/

相关文章:

javascript - 在纯 Javascript 中遍历多维数组

java - 按大小顺序打印给定字符串的所有子字符串

json - Go Lang 如何用可以变化的类型表示 Json

go - "go build"一个文件夹中的多个程序

json - 为什么 grpc-gateway 生成字符串字段而不是 int 或 float?

PHP foreach 循环 - 需要与显示的文本不同的值

java - 我如何设计一个以1开头并以0结尾的int循环(1,2,3,4,5,6,7,8,9,0)

Java JLayeredPane 内容在刷新时闪烁

go - 我可以在 Golang 中基于另一个类型参数来约束一个类型参数吗?

测试微服务?