• 为什么叫 iota

    实际上 iota 就是全名,在 stackoverflow 的提问中已经有许多社区朋友探讨过(果然好奇的小伙伴挺多的)。

    本质上 ”iota“ 是希腊字母表的第 9 个字母。它是数学符号的典型,代表一个非常小的东西。

    常用于以下的场景:

    除了 Go 以外,在 APL、C++,又或是 Scheme 均有有 iota 常量的存在(设计),可以给到大家使用。

    Scheme iota 的签名如下:

    iota count [start step]
    登录后复制

    作用是返回一个包含计数数字的列表,从起始点开始,每次增加步长。默认的开始是0,默认的步骤是 1。

    例如:

    (iota 6)        ⇒ (0 1 2 3 4 5)
    (iota 4 2.5 -2) ⇒ (2.5 0.5 -1.5 -3.5)
    登录后复制

    其实 iota 已经是迭代器的一个约定式命名了,可以认为是也业内通识。

    为什么需要有

    在《The Go Programming Language Specification》中存在着对 iota 的明确定义和说明。

    如下:

    在一个常量声明中,预先声明的标识符 iota 代表连续的无类型的整数常量。它的值是该常量声明中各 ConstSpec 的索引,从0开始。

    提取核心意义:Go 中的 iota 是 ConstSpec 索引,也就是填补的是连续的无类型整数常量的位置。

    因此 Go 中有它的一席位置。

    总结

    在这篇文章中,我们介绍了 Go 中 iota 的基本语法。同时基于历史资料针对 iota 到底是什么,为什么要这么叫,又有什么用进行了一番研究。

    也需要思考另外一个问题,并不是每一门语言都有 iota。那没有 iota 的话会怎么样,不存在是否也有其合理性呢?

    以上就是Go 为什么要设计 iota 常量?的详细内容,更多请关注Work网其它相关文章!

    09-04 18:26