使用Tuple打包数据

//(Int, String)
let success = (200, "Http Ok")  //(.0 200, .1 "Http Ok")
let fileNotFound:(Int, String) = (404, "File not found")    //(.0 404, .1 "File not found")
type(of:success)    //(Int, String).Type

success.0   //200
success.1   //"Http Ok"

//(String, Int, String)
let xiaoming = (name:"xiaoming", no:01, email:"11@1111.com")    //(.0 "xiaoming", .1 1, .2 "11@1111.com")

xiaoming.name   //"xiaoming"
xiaoming.no //1
xiaoming.email  //"11@1111.com"

//Tuple decomposition
var (successCode, successMessage) = success
successCode = 201   //不会影响success,只是把success的值放进模型内
successMessage  //"Http Ok"

success //(.0 200, .1 "Http Ok")

let (_, errorMessage) = fileNotFound    //不需要的参数可以用 _ 表示忽略
errorMessage    //"File not found"


//只有成员个数相同的Tuple能相互比较
let tuple11 = (1, 1)
let tuple12 = (1, 2)
tuple11 < tuple12   //true
tuple11 == tuple12  //false

let tuple123 = (1, 2, 3)
//tuple12 == tuple123   //错误,成员个数不相同

//另外成员个数超过6个的Tuple相互比较会编译错误
let tuple61 = (1, 2, 3, 4, 5, 6)
let tuple62 = (1, 2, 3, 4, 5, 6)
tuple61 == tuple62  //true

let tuple71 = (1, 2, 3, 4, 5, 6, 7)
let tuple72 = (1, 2, 3, 4, 5, 6, 7)
//tuple71 == tuple72   //错误

//参考自SwiftV课堂视频源码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值