TEL:400-8793-956
当前位置:程序、服务器

我们什么时候需要在协议名称后添加括号()?

提问者: 近期获赞: 浏览人数: 发布时间:2021-02-20 10:40:08

 问:让我们写了以下几行:

 
var d6 = Dice(sides: 6, generator: LinearCongruentialGenerator())
 
我想知道为什么我们需要在协议LinearCongruentialGenerator之后编写括号(),特别是因为在前面的示例中我们不必这样做,例如Blendable的示例:
 
let ingredients: [Blendable] = [strawberry, chocolateMilk]
 
 
答:LinearCongruentialGenerator是一个类,您需要创建该类的实例,因此可以使用:(LinearCongruentialGenerator()仅当您不指定任何其他初始化程序时),该类符合协议,而不是协议本身。
上一篇: 找到了在扫描下一个令牌时无法启动任何令牌的字符?
下一篇: 图标字体放在哪里?