var startset=Set<String>("asdasd","sadad")
错误:
通话中缺少参数标签“ arrayLiteral:”
我受到启发:
var ok=String("sdsf")
打印sdsf
答案 0 :(得分:3)
您可以使用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"])
答案 1 :(得分:1)
要初始化Set
,您需要使用Sequence类型的值:例如Array。
为此:
var startset=Set<String>(["asdasd","sadad"])