zoukankan      html  css  js  c++  java
  • Swift介绍(基于Swift4版本)

    Swift是为macOS、iOS、watchOS和tvOS设计的一门编程语言。简单易学、语法简单,交互性强都是它的特点。在设计这门语言时,就很注重考虑它的安全性,而且编译运行时也是非常的轻量快速。

    Swift 4 是基于Swift 3 上的加强版本,带来更好的健壮性和稳定性。并且可以兼容Swift 3 的源代码。并对标准库进行了升级,带来了新的特性,比如smart key paths和serialization,而且大幅度的降低应用的编译时间以及应用的包大小。

    在Swift Playgrounds中,你可以创建一段playgrounds的程序代码,它可以实时编译并快速的展示运行结果。甚至可以用playgrounds的代码来通过蓝牙控制机器人等硬件设备。正因为简单并且实时的交互性,可以更加激发学习者的兴趣,去创造更多有意思的东西并掌握这门语言。

    Swift

    开源

    Swift 4 是在Swift.org平台上开源开发的,包含具体的源代码,bug跟踪日志,邮件反馈列表以及常规的开发编译工具。这些都是对所有人开放的。在活跃的开发社区中,既有苹果内部的开发者,也有外部的开发者。他们合力协作,让Swift语言越来越惊艳。Swift早已经支持苹果的所有平台,并且也支持Linux平台,并且社区中的人还继续努力,让Swift可以支持更多的平台,这是非常值得期待的,因为Swift是一门有趣的语言!

    代码兼容模式

    Swift 4 是向前兼容Swift 3 代码的。所以在使用Swift 4 ,不需要修改你之前的Swift代码就可以在新的编译器上运行。你可以根据自己的需要,移植你的代码到新的Swift 4 编译器上,并且享受Swift 4 带来的新特性。

    你可以使用Swift 4 编译器中的三种模式:

    • Swift 3 编译器模式。这是默认的模式,会使用Swift 3 的编译器去编译代码。
    • Swift 4 编译器模式。这个模式下,你可以使用到Swift 4 的许多新的功能以及性能优化的体验。有些地方可能需要进行代码移植,但是这个从Swift 3 到Swift 4 的移植比起之前从Swift 2.2 到Swift 3 的移植要简单轻松的多。
    • 混合模式。这个模式可以让开发者进行Swift 3 和Swift 4 的混合编译。这样可以让开发者逐步慢慢的去迁移Swift 3的代码到Swift 4 上。

    Swift 4 新特性

    • 更快速简单的使用Strings。其中包裹Unicode检查,子串的创建使用等操作。
    • Smart key paths特性为Swift的类型提供了类型安全检查、高效并且具有可扩展的键值编码(KVC)。
    • 对创建、操作字典集合类型进行了优化提高。
    • Extends对数据的序列化、以及序列化成外部的JSON或plist的支持。
    • 禁止直接访问内存。

    现代化的语言

    Swift是集当下编程语言之所长,并且融合了数十年苹果平台的开发经验到其中。它既包含Objective-C语言中的参数前置的表达形式,并且有简单整洁的语法,便于维护和阅读。类型推断让代码更健壮而且不容易发生错误。并且使用了modules和命名空间,这样就把把Headers给淘汰了。内存的自动管理,甚至不需要考虑代码后面的分号。这些超前的想法运用到Swift上,让这门语言更加的简单有趣。

    extension String {
    	var banana : String {
    		let shortName = String(characters.dropFirst(1))
    		return "(self) (self) Bo B(shortName) Banana Fana Fo F(shortName)"
    	}
    }
    
    let bananaName = "Jimmy".banana		// "Jimmy Jimmy Bo Bimmy Banana Fana Fo Fimmy"
    

    Swift还有很多的特性让你的代码变得惊艳,比如:

    • 闭包与函数指针的统一
    • 元组和多返回值
    • 泛型
    • 对集合在某个范围的快速迭代访问
    • 支持函数methods、扩展extensions、协议protocols
    • 函数式编程模型,比如map和filter
    • 使用try / catch / throw对本地的错误异常处理。
  • 相关阅读:
    GhostBSD 3.0RC3,基于GNOME的FreeBSD
    Nagios 3.4.3 发布,企业级监控系统
    Jolokia 1.0.6 发布, JMX远程访问方法
    微软希望开发人员不要使 WebKit 成为新版 IE6
    Kwort Linux 3.5 正式版发布
    EJDB 1.0.24 发布,嵌入式 JSON 数据库引擎
    Pale Moon 15.3 Firefox“苍月”优化版发布
    Galera Load Balancer 0.8.1 发布
    SmartSVN V7.5 正式发布
    PostgresQL建立索引如何避免写数据锁定
  • 原文地址:https://www.cnblogs.com/vokie/p/9299987.html
Copyright © 2011-2022 走看看