Swift:要传递的println值
我只是好奇Swift中的Swift:要传递的println值,swift,types,Swift,Types,我只是好奇Swift中的println()方法。我应该传递值:T。实际上,我可以在那里写:float,string,char,int,甚至NSData。如何创建和实现这样的类型 编辑:对于那些不理解我的要求的人:什么是value:t,我如何在函数中使用它?我几乎可以肯定,在这里面,它只调用String(value) 但是,如果您希望能够处理方法中的许多类型,那么应该检查它是什么类型,并相应地处理它。我给您举一个例子。假设aFloatVar是一个Float类型的变量,您希望使用适当的提示来编写它。
println()
方法。我应该传递值:T
。实际上,我可以在那里写:float
,string
,char
,int
,甚至NSData
。如何创建和实现这样的类型
编辑:对于那些不理解我的要求的人:什么是
value:t
,我如何在函数中使用它?我几乎可以肯定,在这里面,它只调用String(value)
但是,如果您希望能够处理方法中的许多类型,那么应该检查它是什么类型,并相应地处理它。我给您举一个例子。假设
aFloatVar
是一个Float类型的变量,您希望使用适当的提示来编写它。这就是你要写的:
println("The Value \(aFloatVar as Float)")
您也可以在同一行中使用两个变量。假设crd
是一个CGPoint,您希望将其写成x和y。以下是您必须编写的代码:
println("Coordinate X = \(crd.x as CGFloat) Y = \(crd.y as CGFloat) ")
这是我知道你必须写的,而不是swift中的Value:T。
T
表示println
接受任何类型的参数
float
,string
,char
,int
等将转换为字符串
对象(如NSData
或UIImage
)将调用其description
方法,并返回该方法NSData
将为您提供数据的十六进制表示形式,而UIImage
将打印有关图像的一些详细信息(宽度、高度等)
如果你想打印出你自己定义的类,你应该考虑实现一个描述方法。否则,您将只获得类名和内存地址
此外,您还可以在字符串中嵌入任何类型的对象,并将其与println()组合:你的问题我不清楚
println
是一个通用函数,T
是占位符类型。您想要创建或实现什么?
let a = 7
let b = 6
let c = a * b
println("\(a) times \(b) is \(c)")
// 7 times 6 is 42