Go的范围可以迭代 map 和切片,但我想知道是否有一种方法可以迭代一系列数字,比如:

for i := range [1..10] {
    fmt.Println(i)
}

或者有没有一种方法来表示Go中的整数范围,就像Ruby处理class Range那样?

推荐答案

围棋中惯用的方法是编写一个for循环,如下所示.

for i := 1; i <= 10; i++ {
    fmt.Println(i)
}

在范围方面肯定有优势,并且它们也在许多其他语言中使用,但是Go设计原则是只有在yield 明显大于成本(包括使语言变得更大的成本)的情况下才引入抽象.理性的人对射程的成本和yield 有不同的看法,但这个答案是我试图描述我认为的惯用围棋是什么.

Go相关问答推荐

在字符串与字符串子切片上使用len进行位转移产生意外输出

一种基于时间的Golang函数节制器

如何在VSCode中为特定的.go文件创建调试配置?

是否可以使用标准库构建 Go 二进制文件?

生成一个 CSV/Excel,在 Golang 中该列的下拉选项中指定值

当我使用 CircleCI 构建 Go Image 时,我得到runtime/cgo: pthread_create failed: Operation not allowed

testcontainers:如何修复绑定源路径不存在

使用Go和Operator SDK通过API调用设置Kubernetes Pods的安装步骤

如何将任何类型的数据值传递到 Golang 中的 GRPC Protobuf struct ?

有没有办法在 Golang 中使用带有 go-simple-mail lib 的代理?

正确的 shell 程序进入 golang alpine docker 容器的入口点?

泛型:实现嵌套接口

如何在 Go 中编写示例测试?

数据流中的无根单元错误,从 Golang 中的 PubSub 到 Bigquery

如何在 Windows 中使用 github.com/AllenDang/giu 和 github.com/gordonklaus/portaudio 构建 GO 程序

Grafana/Prometheus 将多个 ip 可视化为查询

如何在 Unmarshal 中使用泛型(转到 1.18)

如何从 docker-compose 命令运行 2 个不同的命令:

不理解切片和指针

Golang 查询扫描未将查询正确扫描到 struct 中