Swift 关联值

///< “定义一个名为 Student 的枚举类型,它的一个成员值是具有 (Int,Int,Int,Int) 类型关联值的 studentClass ,另一个 成员值是具有 String 类型关联值的 studentAge 。”
enum Student {
    case studentClass(String, String, String, String)
    case studentAge(String)
}


var result = Student.studentClass("xxx小学", "六年级", "五班", "lin")
result = Student.studentAge("23")
        
///< 原始的 Student.studentClass 和其整数关联值被新的 Student.studentAge 和其字符串关联值所替代。 Student 类型的常 量和变量可以存储一个 .studentClass 或者一个 .studentAge (连同它们的关联值),但是在同一时间只能存储这两个值中的一 个。
print(result)
        
switch result {
    case .studentClass(let schoolName, let grade, let className, let name):
        print("studentClass: \(schoolName), \(grade), \(className), \(name).")
    case .studentAge(let age):
        print("studentAge code: \(age).")
}
        
///< 如果一个枚举成员的所有关联值都被提取为常量,或者都被提取为变量,为了简洁,你可以只在成员名称前标注一个let或者var:
switch result {
    case let .studentClass(schoolName, grade, className, name):
        print("studentClass: \(schoolName), \(grade), \(className), \(name).")
    case let .studentAge(age):
        print("studentAge code: \(age).")
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值