• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift学习之元组

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

  元组在oc中是没有的。在swift中是新加的,学oc数组概念时还在想既然能够存储同样类型的元素,那不同类型的元素有没有东西存储呢,答案非常悲伤,oc没有元组这个概念。只是swift中加入了这个东西,也挺有意思的,以下就我个人说一下对元组的理解,假设有不正确的,请指出,共同进步,谢谢

  元组(touples)就是能够存储不同数据类型的一个集合,用()表示,举个栗子

        let touples = ("xiaoyu",16,"math",98.5)
        println(touples)

看到提示就应该知道我们能够通过touples.0或者.1或者.2或者.3来訪问元组的元素,由swift的类型判断就知道相应的数据类型

我们也能够用另外一种方法创建元组

let (name,_,_,score) = touples

上面的_在swift中是通配符。记做忽略的意思,就是你不须要相应的值,用不着

        println(name)
        println(score)

事实上我个人更喜欢第三种方式,清晰明了,代码更易读

        let touple = (name:"xiaoyu",age:16,souce:"math",scores:98.5)
        println(touple.name)

说了上面一大推,我还是不知道元组能够干嘛,巴拉巴拉。仅仅知道怎么创建,读取等等。那么我们这个元组小伙伴能够做些啥事啊,以下举个小栗子

 

override func viewDidLoad() {      
        var touple = (name:"xiaoyu",age:16,souce:"math",scores:98.5)
        println(touple.name)

        swapMe(&touple.name, b: &touple.souce)
        println(touple)
        
   }

    func swapMe<T>(inout a:T,inout b:T){
        let temp = a
        a = b
        b = temp
    }
通过上面的代码我们就偷偷把math和name交换了,(注意,这里仅仅能交换形同的类型,T是一种泛型表达),可是我们学了元组就能够这样写了

    func swapMe<T>(inout a:T,inout b:T){
        (a,b) = (b,a)
    }

恩。能够达到同样的效果,不信,再来一个数组做实验

        var tempArr = [5,7]
        swapMe(&tempArr[0], b: &tempArr[1])
        println(tempArr)

恩,这回真心能够了

还有就是元组真心放什么都能够啊。不信能够试试以下的操作

        var num = 42
        println(num)
        println(num.0.0.0.0)
元组还有一个实用的地方就是错误处理了,能够把错误直接放在元组里面返回





參考:喵神的书


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
算法与数据结构(一) 线性表的顺序存储与链式存储(Swift版)发布时间:2022-07-13
下一篇:
Swift-属性、方法、下标发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap