泛型-我一直看到的“元素”参数是什么? (速记3)
在学习Swift的过程中,我注意到一些函数要求使用Element类型的参数。 我有点被为什么要求我们提供一个类型变量感到困惑 我从未听说过像Array这样熟悉的东西……
例如,让我们看一下在字符串 数组上调用的append()方法。
当我们使用自动填充来完成append函数时,系统会要求您提供一个参数: newElement:Element。 因为我们已经知道数组包含字符串,所以为什么类型不是String的参数呢?
append方法将接受String并打印该方法,并将新字符串添加到Array的末尾。 那么,这是怎么回事? 为什么要求我为该方法提供一个Element,但是它将接受一个String ?
让我们再思考一下数组 。 我们创建的每个数组都有可用的append()方法,但并非所有数组都属于同一类型。 与其在String Array上使用append() ,不如在Int Array上尝试一下。
真好! 即使我们的数组类型从[String]更改为[Int],我们也可以使用Element类型来传递String或Int参数。 由于数组中各项的类型正在更改,因此使用Element可以根据数组中的内容传递正确的类型。
但仍然..什么是Element ? 这是一堂课吗? 结构? 事实证明,它被称为“通用代码”。 这里直接来自Apple文档: