gpt4 book ai didi

swift - 为什么我不能初始化这个集合

转载 作者:可可西里 更新时间:2023-11-01 00:38:40 24 4
gpt4 key购买 nike

var startset=Set<String>("asdasd","sadad")

错误:

调用中缺少参数标签 'arrayLiteral:'


我的灵感来自于此:

var ok=String("sdsf")

打印 sdsf

最佳答案

您可以使用 String 来做到这一点,因为恰好 String 有一个初始化程序:

public init<S>(_ other: S) where S : LosslessStringConvertible, S : Sequence, S.Element == Character

String 符合 S 的所有约束,所以它可以传递给这个初始化器,你可以用这种方式创建一个字符串。

Set 是一个完全不同的类,它没有任何可以传递 2 个 String 的初始化程序,因此您不能创建一个集合传递 2 个字符串。

如果你想创建一个包含 2 个字符串作为元素的集合,你可以使用数组字面量:

let set: Set<String> = ["asdasd","sadad"]

或者,如果您想显式调用初始化程序,

let set = Set<String>(["asdasd","sadad"])

关于swift - 为什么我不能初始化这个集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53738608/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com