swift打印可选变量
发布时间:2020-12-14 06:11:25 所属栏目:百科 来源:网络整理
导读:我试着用这些代码行 class Student { var name: String var age: Int? init(name: String) { self.name = name } func description() - String { return age != nil ? "(name) is (age) years old." : "(name) hides his age." }}var me = Student(name:
我试着用这些代码行
class Student { var name: String var age: Int? init(name: String) { self.name = name } func description() -> String { return age != nil ? "(name) is (age) years old." : "(name) hides his age." } } var me = Student(name: "Daniel") println(me.description()) me.age = 18 println(me.description()) 上面的代码产生如下 Daniel hides his age. Daniel is Optional(18) years old. 我的问题是为什么有可选(18)那里,如何删除可选和jus打印 Daniel is 18 years old. 先谢谢你。
你必须明白什么是可选的。许多Swift初学者认为var年龄:int?意味着年龄是一个Int,它可能有也可能没有值。但它意味着年龄是一个可选的,可能持有或不持有国际。
在你的description()函数中,不打印Int,而是打印Optional。如果要打印Int,您必须打开可选。您可以使用“可选绑定”来解开可选: if let a = age { // a is an Int } 如果您确定Optional包含对象,则可以使用“强制解包”: let a = age! 或者在您的示例中,由于您已经在描述函数中对nil进行了测试,因此您可以将其更改为: func description() -> String { return age != nil ? "(name) is (age!) years old." : "(name) hides his age." } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |