There are two evolution proposals: Variadic Generics and Value and Type Parameter Packs.
So... what is the difference? They feel conceptually very similar.
The second one, with super heavy syntax, is already implemented in Swift 5.9
The first one... I'm not sure. Is the Type Parameter Packs is just a final version of initial Variadic Generic proposal? Can't find any explicit info.

推荐答案

与SWIFT 5.9中实现的功能相比,"变量泛型"提供了更多的功能,比如在参数包上迭代.

SWIFT论坛上的"各种泛型"链接到了关闭的pull request #1510.据说,#1510已经被#1839取代了.#1839也被关闭,在 comments 之后:

我认为这份文件的实质将在parameter packs proposal项下进行审查,其余部分将作为参数包上构建的单独功能进行推介(如果它们被接受的话).

而这里提到的"参数包方案"就是5.9中实施的方案."其余的"被分成几个不同的建议--其中一些在5.9(variadic generic types,expansion to tuples)中实现,另一些则没有(pack iteration).

简而言之,多种多样的泛型方案首先出现,然后分成多个方案,其中之一是参数包.

Swift相关问答推荐

计算Vision OS相机与Vision OS中3D模型之间的距离

如何取消正在视图修改器中运行的任务

如何在init()中使用setter/getters?

SWIFT异步/等待,多个监听程序

如何使用Swift宏和@Observable和@Environment?

如何从我的 macOS 应用程序打开 (.log) 文件?

数组中某些元素的总和

动画偏移正在 destruct 按钮 SwiftUI

类型 '()' 不能符合 View (除非它肯定是 View,这次没有恶作剧)

ZStack 中的 ProgressView 与 View 的行为不同

无法增加系统镜像的大小

不要从 NumberFormatter 获取货币符号

为什么swiftui中的导航视图栏那么大?

Apple 的自然语言 API 返回意外结果

Swift在十进制格式中失go 精度

即使设置为从不也可以访问 iOS11 照片库

UICollectionView 自定义单元格在 Swift 中填充宽度

Swift 2.0 中的 do { } catch 不处理从这里抛出的错误

在 Swift 中从服务器播放视频文件

Swift - 要求实现协议的类是某个类的子类