Swift 横空出世

标签: swift 出世 | 发表时间:2014-06-03 11:20 | 作者:hechel
出处:http://www.iteye.com

Apple Releases iOS 8 SDK With Over 4,000 New APIs

        苹果2014-6-2日的WWDC开发者大会,是名符其实的“开发者大会”,发布新的操作系统,IOS8,4000+的新api,这已经让我们这些程序员够吐槽的了。不过苹果的技术大拿们似乎不满足于此,推出了新的开发语言--Swift。我要吐血啦,那些苹果顾的水军编辑们,竟然起哄,“coder们要喜大普奔”啊,艹,明显站着说话不腰疼啊!

        吐槽归吐槽,Swift就这样横空出世了,以后会不会成为武林高手呢,咱拭目以待。不过对于咱这样的开发者,还是赶紧啃吧。

       快速浏览了Swift语言之后,发现原来swift语言没有那么难,甚至能让一大部分开发者轻易的转战ios开发,这个语言的风格很大程度类似脚本js和python之类。嘿嘿,多少人在偷着乐啊。

       Swift语言到底是何方神圣呢?咱看看苹果官方怎么说:

       Swift is a new programming language for iOS and OS X apps that builds on the best of C and Objective-C, without the constraints of C compatibility. Swift adopts safe programming patterns and adds modern features to make programming easier, more flexible, and more fun. Swift’s clean slate, backed by the mature and much-loved Cocoa and Cocoa Touch frameworks, is an opportunity to reimagine how software development works.

        看样子,苹果是要大力推动Swfit语言了,Swift可以用来在MAC和IOS上开发,兼容目前的Cocoa和Cocoa touch Framework,Swift吸收了安全编程模式的特点,同时摆脱了C语言的一些束缚,变的更加好用,易扩展,更有趣。(玩玩才知道)

        Swift是如何摆脱C语言的一些束缚呢?还记得那个"hello world!"吗?

        

  • println("Hello, world")

    

        这可不是一句表达式,这是一个完整的程序,是不是少点了很多的include,函数框架也没有了,特码的连main都不用,就是一句脚本,执行就ok了。凋爆了。

         Swift的变量和语句很简单,两个关键词,var和let就可以搞定了:

         

  • var myVariable = 42
  • myVariable = 50
  • let myConstant = 42

          强制要求初始化,初始值决定类型,想要制定类型怎么办,很简单:

          

  • let implicitInteger = 70
  • let implicitDouble = 70.0
  • let explicitDouble: Double = 70

 

           类型转换不支持隐式,必须强转:

                

  • let label = "The width is "
  • let width = 94
  • let widthLabel = label + String(width)

           猜猜这个“  \()”是干嘛用的,哈哈!强转为字符串的利器:

                     

  • let apples = 3
  • let oranges = 5
  • let appleSummary = "I have \(apples) apples."
  • let fruitSummary = "I have \(apples + oranges) pieces of fruit."

                数组,字典之类的比较中规中矩,没有什么好讲的,直接看效果:

                        

  • var shoppingList = ["catfish", "water", "tulips", "blue paint"]
  • shoppingList[1] = "bottle of water"
  • var occupations = [
  • "Malcolm": "Captain",
  • "Kaylee": "Mechanic",
  • ]
  • occupations["Jayne"] = "Public Relations"

               

                 数组,字典的初始化,更加自由了,感觉像Java啦:

                       

  • let emptyArray = String[]()
  • let emptyDictionary = Dictionary<String, Float>()

                数组和字典在作为参数时,可以简写为[]和[:] .

                程序流程控制方面,新特性比较多,常规的if,switch, for-in, for, while, do-while的用法都支持,不过在使用条件语句的时候,有了新的变化,比如if语句的==判断,语法是这样的:

                 

  • var optionalString: String? = "Hello"
  • optionalString == nil
  • var optionalName: String? = "John Appleseed"
  • var greeting = "Hello!"
  • if let name = optionalName {
  • greeting = "Hello, \(name)"
  • }

               

             注意到了上面的String类型之后的?了吗,这个是一个标注,表示这个值是可选的,就是可以给空值nil,还有一点,布尔值不在等同于0和其他int值了,必须用显性的bool值。

            switch语句有个很大特色,条件支持任意类型了,看看下面的语句,我就觉得爽:

                   

  • let vegetable = "red pepper"
  • switch vegetable {
  • case "celery":
  • let vegetableComment = "Add some raisins and make ants on a log."
  • case "cucumber", "watercress":
  • let vegetableComment = "That would make a good tea sandwich."
  • case let x where x.hasSuffix("pepper"):
  • let vegetableComment = "Is it a spicy \(x)?"
  • default:
  • let vegetableComment = "Everything tastes good in soup."
  • }

               靠,没有break语句怎么跳出来啊?没有关系,Swift摒弃这个语法陋习。是不是减少了很多发错的机会。哈哈

 

               待续:

 

 

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [swift 出世] 推荐:

Swift 横空出世

- - 移动开发 - ITeye博客
        苹果2014-6-2日的WWDC开发者大会,是名符其实的“开发者大会”,发布新的操作系统,IOS8,4000+的新api,这已经让我们这些程序员够吐槽的了. 不过苹果的技术大拿们似乎不满足于此,推出了新的开发语言--Swift. 我要吐血啦,那些苹果顾的水军编辑们,竟然起哄,“coder们要喜大普奔”啊,艹,明显站着说话不腰疼啊.

Openstack Swift简介

- - 忘我的追寻
Swift 最初是由 Rackspace 公司开发的高可用分布式对象存储服务,并于 2010 年贡献给 OpenStack 开源社区作为其最初的核心子项目之一,为其 Nova 子项目提供虚机镜像存储服务. Swift 构筑在比较便宜的标准硬件存储基础设施之上,无需采用 RAID(磁盘冗余阵列),通过在软件层面引入一致性散列技术和数据冗余性,牺牲一定程度的数据一致性来达到高可用性和可伸缩性,支持多租户模式、容器和对象读写操作,适合解决互联网的应用场景下非结构化数据存储问题.

swift学习资料汇总

- - 编程 - 编程语言 - ITeye博客
今年的苹果开发者大会(WWDC)上,公布了ios8的几个新特性,其中包括引入了群聊功能,支持第三方输入法等功能. 但更让开发者感兴趣的莫过于Swift语言的发布了. Swift是apple自创的一门转为cocoa和cocoa touch设计的语言,意用来替换objc. Swift能使代码大量简化,并且开发者们可以在同一款软件中同事使用obj-c,Swift,c语言.

swift语言是什么?

- - TechWeb 新酷网站 RSS阅读
译/新浪科技   导语:CNET网站今天刊文称,苹果公司(以下简称“苹果”)在今年的WWDC(全球开发者大会)上发布了一款重要产品:编程语言Swift,并随后发布了对这一语言进行详解的iBook电子书. 终端用户或许很难感知到这一编程语言带来的改变,但这可能推动苹果应用开发者社区的变革. 许多人可能都已忘记苹果WWDC中的“D”代表了“开发者”.

几个 Swift 代码规范

- - SegmentFault 最新的文章
作者:Erica Sadun, 原文链接,原文日期:2015-11-17. 译者: mmoaay;校对: lfb_CD;定稿: shanks. 我们需要经常带着新问题来重新审视一下以前的代码规范. Kevin 提供的一套规范:“如果尾部的闭包参数是函数式的就用圆括号. myCollection.map({blah}).filter({blah}).etc myCollection.forEach {} // 或者 dispatch_after(when, queue) {}.

The Right Way to Architect iOS App with Swift

- - limboy's HQ
关于 iOS 架构的文章感觉已经泛滥了,前一阵正好 Android 官方推了一套. App Architecture ,于是就在想,对于 iOS 来说,怎样的架构才是最适合的. 这是第一个也是最重要的问题,为什么会出现各种 Architecture Pattern. 我们来想一下,无论是做一个 App 还是搭一套后台系统,如果是一次性的,今天用完明天就可以扔掉,那么怎么快怎么来,代码重复、代码逻辑、代码格式统统不重要.

Swift编写的一些完整的app

- - ITeye博客
收集了一些实用swift编写的app,这些demo都是不错的值得学习的. 参照了 YANGReal的糗事百科和uitableview的例子,这些虽说是demo,也是完整的app,使用了爱加密的 app加密技术,非常不错,感谢. 我觉得学习一门语言光看是没用的,只有投入到实践项目中去,才能最快速的掌握它,有兴趣的同学可以和我一起来把这个项目完善,目前只做了列表页和内容页两个页面.

OpenStack开源云计算 OpenStack对象存储——Swift

- - 酷勤网-挖经验 [expanded by feedex.net]
OpenStack Object Storage(Swift)是OpenStack开源云计算项目的子项目之一,被称为对象存储,提供了强大的扩展性、冗余和持久性. 本文将从架构、原理和实践等几方面讲述Swift. Swift并不是文件系统或者实时的数据存储系统,它称为对象存储,用于永久类型的静态数据的长期存储,这些数据可以检索、调整,必要时进行更新.

[转] 分布式存储系统(GlusterFS, Swift, Cassandra)设计对比

- - 忘我的追寻
之前转过一篇分布式文件系统比较的文章, 几大分布式文件系统全方位比较,这里再从存储的角度转一个. 应该说者三个开源软件各自侧重的领域不一样,但是都具备分布式存储的特征,因此这篇文章主要是从存储的角度来进行对比. 1、 文件定位:三者均采用hash算法,另外amazon的Dynamo也是采用一致性哈希;还有采用中心路由的定位方式:如HBASE,HDFS.

苹果的新编程语言 Swift 简介

- - 互联网的那点事
原文出处:  Lucia(@peng_gong) 欢迎加入 iOS小组. 这篇文章简要介绍了苹果于 WWDC 2014发布的编程语言——Swift. 在这里我认为有必要提一下 Brec Victor的 Inventing on Principle,Swift编程环境的大部分概念都源自于 Brec这个演讲.