for 循环初始值设定项中的结构

2024-05-13

知道为什么 for 循环初始值设定项中的这个结构表达式在编译时会出现语法错误吗?在这种情况下,指向结构的指针工作正常,但 ofc 我需要如下所示的局部变量。感谢您的建议!

type Request struct {
    id   int
    line []byte
    err  error
}

go func() {
    for r := Request{}; r.err == nil; r.id++ {
        r.line, r.err = input.ReadSlice(0x0a)
        channel <- r
    }
}()

简化您的代码:

for r := Request{}; r.err == nil; r.id++ {
    r.line, r.err = input.ReadSlice(0x0a)
    channel <- r
}

给出编译时错误:

预期的布尔或范围表达式,发现简单的语句(复合文字周围缺少括号?)(还有 1 个错误)

这个结构解析起来是不明确的。左大括号'{'不明显它是否是一个的一部分复合文字 https://golang.org/ref/spec#Composite_literals或左大括号for声明本身(for block https://golang.org/ref/spec#Block).

您可以通过在复合文字周围使用括号来使其明显(如错误所示):

for r := (Request{}); r.err == nil; r.id++ {
    r.line, r.err = input.ReadSlice(0x0a)
    channel <- r
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

for 循环初始值设定项中的结构 的相关文章

随机推荐

  • 寻找距离原点最近的 100 颗恒星的算法

    首先让我提出正确的问题 问 有一个文件包含超过一百万个点 x y 每个点代表一颗星星 a b 处有一颗行星地球 现在 任务是构建一种算法 返回距离地球最近的 100 颗恒星 您的算法的时间和空间复杂度是多少 这个问题在各种采访中被问过很多次
  • Gulp 错误:找不到模块“jshint/src/cli”

    因此 我重新安装了 El Capitan 并再次尝试这些任务运行程序 我正在跟进sitepoint 的 Gulp js 简介 http www sitepoint com introduction gulp js 但当我尝试运行时 我陷入了
  • 没有带有张量板的图表

    我正在读一本关于 Tensorflow 的书 我发现了这段代码 from future import absolute import from future import division from future import print
  • System.Web.Mvc.HtmlHelper 不包含以下定义

    我正在尝试使用史蒂夫 桑德森的博客文章 http blog stevensanderson com 2010 01 28 editing a variable length list aspnet mvc 2 style 关于编辑可变长度列
  • removeIf 实现细节

    我有一个我无法理解的小实施细节问题ArrayList removeIf 我认为我不能在没有先决条件的情况下简单地这么说 因此 实施基本上是bulk remove 不像ArrayList remove 一个例子应该会让事情更容易理解 假设我有
  • 如何覆盖应用程序中的内部框架方法(框架外部)

    在 Swift 中子类化时是否有重写内部框架方法 前任 超类 public class BarChartRenderer ChartDataRendererBase internal func drawDataSet context con
  • 固定大小集以包含给定集的最大数量

    我有大约 1000 组尺寸 1 4 1 3 3 5 6 4 5 6 7 5 25 42 67 100 是否有可能找到包含最大数量的给定集合的大小为 20 的集合 检查每一个100 80 20 集 效率低下 我不太确定这是 NP 完全的 考虑
  • JOOQ 查询 JOIN ON WITH 子句

    如何编写 JOOQ 查询来连接 with 子句中的字段 例如 我尝试过 create with a as select val 1 as x val a as y select from tableByName a join ANOTHER
  • 如何在android中实现页面翻转/翻转/卷曲效果[重复]

    这个问题在这里已经有答案了 可能的重复 在android上实现页面卷曲 https stackoverflow com questions 3912849 implement page curl on android 如何在android中
  • 在 MongoDB 中,如何根据嵌入对象中的属性对文档进行排序?

    在我的产品集合中 我可以找到已在 GB 地区发布的所有产品 gt db products find release region GB pretty id foo release region GB date ISODate 2012 03
  • matlab部署工具到java包javac错误

    我正在尝试将我的程序包装为与 java 一起使用 我首先尝试了一个简单的 hello world 你好世界 m disp 你好世界 我使用了deploytool并选择了java包 当它到达这一行时 执行命令 javac verbose cl
  • Linq 到自定义 SQL

    好的 我有一个带有巨大表的数据库 超过 100 万条记录和 50 多个列 我知道它不是最佳的 但它是我必须处理的 所以我需要运行限制返回数据量的查询 现在我的问题是这样的 我有一些运行并返回数据的自定义查询 用户可以通过选择将生成谓词模板并
  • 别名 .\SQLEXPRESS 为 (LocalDB)\MSSQLLocalDB

    I have SQLEXPRESS已安装 但代码假设我有一个名为 LocalDB MSSQLLocalDB 如何创建别名以便不必安装SQLLocalDb 启动 Sql Server 配置管理器 使用以下参数为 64 位 SQL Native
  • 失败:错误域=NSURLErrorDomain代码=-1004“无法连接到服务器。”

    首先 我想列出我已阅读并尝试实现答案的帖子 避免重复 iOS 9 和 iOS 10 中的应用程序传输安全问题 https stackoverflow com questions 40280936 app transport security
  • 使用 Yew 回调作为 wasm_bindgen 闭包

    这个问题是为 Yew v0 19 编写的 异步外部 JavaScript 函数可以通过以下方式在 Rust 中使用Closures https rustwasm github io wasm bindgen api wasm bindgen
  • 从 exe/as 服务运行 tomcat 时出现 NoClassDefFoundError: org/apache/catalina/startup/Bootstrap

    我已经通过startup bat运行Tomcat 6 0 37服务器相当长一段时间了 现在我想将tomcat作为一项服务运行 在机器启动时自动启动 我使用bat创建了服务 service bat install 这成功地创建了服务 当尝试启
  • Java - Runtime.getRuntime().exec() 发生了什么?

    我在 Java 中遇到 Runtime exec 问题 我的代码 String lol home pc example txt String b touch lol try Runtime getRuntime exec b catch E
  • 使用 libdl 的 C 插件架构

    我一直在尝试用 C 语言编写一个小型 IRC 框架 现在我将扩展它的一些核心功能 但除此之外 我希望它可以通过插件进行扩展 到目前为止 每当我写一些与 IRC 相关的东西 我写了很多东西 现在大约有 6 种不同的语言 我很着火 并且实际上继
  • 如何反思 PEP 484 类型提示?

    我观察到对于以下功能 def foo x int gt List int return x 1 可以使用表达式获取注释信息foo annotations 这产生 x
  • for 循环初始值设定项中的结构

    知道为什么 for 循环初始值设定项中的这个结构表达式在编译时会出现语法错误吗 在这种情况下 指向结构的指针工作正常 但 ofc 我需要如下所示的局部变量 感谢您的建议 type Request struct id int line byt