例如,我想指定一种类型,可能是
我希望这个函数可以接受参数类型为(
正如您所看到的,我尝试了使用 typealias,并且没有编译错误。
然而,尝试使用此函数将导致以下错误。
并且
这可以用Swift实现吗?如果可以,怎么做?
整数(Integer)
或字符串(String)
,并将其用作func
中的特殊类型。我尝试使用typealias
,但无法解决此问题,因为typealias
不能将or
参数用作唯一的使用&
,因此请考虑下面的情况。typealias alis = StringProtocol & Numeric
func foo <T: alis> (vee: T) -> T{
// do something
return vee
}
我希望这个函数可以接受参数类型为(
Int
或 String
)的任何一个,而不是其他任何类型(<T>
)。正如您所看到的,我尝试了使用 typealias,并且没有编译错误。
然而,尝试使用此函数将导致以下错误。
foo(vee: 1) //Argument type 'Int' does not conform to expected type 'StringProtocol'
并且
foo(vee: "v") //Argument type 'String' does not conform to expected type 'Numeric'
这可以用Swift实现吗?如果可以,怎么做?
Any
,但可能不是最好的解决方案。你的目标是什么? - Leo Dabus