我有一个围棋项目的 list .我想循环遍历它们,并对它们的子集执行一些操作.有没有比下面的代码更优雅、更习惯用来做这件事的代码呢?

for key, value := range listOfThings {
    if(!value.Enabled) {
        continue;
    }

    doTheThing(key, value)
}

大背景--我来自的语言中,map/duce/过滤/等是这类事情的流行模式,但word on the internet%的原因是,那些更高级别的抽象并不是真正值得go 做的事情.

对于这种代码,我的范围块中有没有比Guard/continue子句更优雅的东西呢?

推荐答案

Simple apply/filter/reduce package.

我想看看在围棋中实施这类事情有多难, 使用我所能管理的最好的API.这并不难.

我是几年前写的,还没有机会用 只有一次.相反,我只使用"for"循环.

你也不应该用它.

罗伯·派克


听从罗布的建议.用于循环.

Go相关问答推荐

如何从google.golang.org/grpc/stats包中将golang中不同事件的输出进行组合,以获取func HandlePRC

Makefile:现有文件上没有这样的文件或目录,不加载环境变量

如何模拟嵌入. FS?

难以为多个平台添加Go Bazel构建选项

使用Digitorus/pdfsign在GO(Golang)中签署pdf文件

创建服务时云运行触发器执行失败

将DATE类型的SQL字段扫描到GO struct 字段

使用 Go 根据 /etc/shadow 文件中的散列密码验证密码

如何使用 go-git 将特定分支推送到远程

Go 中如何调用测试函数?

动态 SQL 集 Golang

golang 中的可变参数函数

访问传递给可变参数函数的通用 struct 的特定字段

使用 package`regexp` 查找 Golang 中的所有 mactch 子字符串,但得到意外结果

如何使用 math/big 对 bigInt 进行取模?

如何通过组合来自不同包的接口来创建接口?

为什么import和ImportSpec之间可以出现多行注释,而PackageName和ImportPath之间不能出现?

通用函数与外部包中的常见成员一起处理不同的 struct ?

Unescape 在 rss 中两次逃脱了标题

如何从字符串中删除多个换行符`\n`但只保留一个?