【发布时间】:2017-12-07 00:28:11
【问题描述】:
我尝试使用类似的东西
for i := 0; i < len(bytes); ++i {
...
}
这是不正确的,我收到了错误
语法错误:意外 ++,需要 表达式
那是因为++i不是我想的表达方式。
然后我发现i++(它在for循环中工作)也不是根据the documentation的表达式。
我在some cases(现在我认为在所有情况下)中也遇到过不能用语句代替表达式。
现在如果我们回到错误,我们会看到for 循环需要一个表达式。我对此感到困惑。我检查了the documentation 的另一部分,结果发现for 需要声明。
带有for子句的语句
带有 ForClause 的“for”语句也受其控制 条件,但另外它可以指定一个 init 和一个 post 声明
我从问题开始(我比最后一个问题更喜欢这个问题,因为我认为它是关于语言不熟悉的)
语句被接受为表达式是循环语法的特殊情况还是golang中还有其他情况?
在写问题和检查文档的过程中,我遇到了一个问题
在描述错误时是否使用了不正确的术语,应该修复以免混淆?还是在某些情况下通常用语句和表达式等术语来代替?
【问题讨论】:
-
我实际上写了 ++i 不是我的问题中的表达,所以我没有问它并在文档中指出了相同的位置。我看到 i++ 是语句,我也写了关于它我不明白为什么当我可以使用语句时错误说期望表达式并且它令人困惑。
-
啊,我明白你现在在问什么了。很抱歉造成混乱。
-
@DanielGrankin 你是对的,错误信息“有点”误导,但它从来没有打扰过我。如果将
++i替换为break(或任何其他非简单语句),则会收到相同的错误消息。如果您愿意,可以提出问题。 -
我想说谢谢那些对这个问题感兴趣并试图找出“问题”的人。另外我想对所有阅读评论的人说,如果您真的不知道答案,请不要关闭,抹黑一个问题。
标签: go compiler-errors syntax-error