在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Swift 是开发 iOS 及 OS X 应用的一门新编程语言,然而,它的开发体验与 C 或 Objective-C 有很多相似之处。 Swift 提供了 C 与 Objective-C 中的所有基础类型,包括表示整数的 Int,表示浮点数的 Double 与 Float,表示布尔值的 Bool,以及表示纯文本数据的 String。 Swift 还为两个基本集合类型 Array 与 Dictionary 提供了强大的支持,详情可参考 (集合类型)Collection Types。 与 C 语言类似,Swift 也采用变量存储数据,并通过标识符来引用变量值。 Swift 还扩充了值不可变的量--即常量,使它比 C 语言中的常量强大得多。 当在 Swift 中操作不需要改变值的数据时,使用常量可使代码更安全、更简洁。 除常见类型以外,Swift 还引入了 Objective-C 中不存在的高级类型,其中包括元组(tuple),可以新建或传递一组值。函数可以将多个值作为整体(多个元组值的组合)返回给调用方。 Swift 还引入了可选值(optional types),可处理不存在的值。可选值可以“存在一个值 x”,也可以“不存在任何值”。可选值与 Objective-C 为指针赋 nil 相似,但在 Swift 中可以对任意类型使用,而不只针对类。可选值比 Objective-C 的 nil 指针更安全且语义更生动,在 Swift 最强大的诸多功能中得到了深入的应用。 可选值是 Swift 类型安全的一点体现。Swift 可帮助你清晰地了解代码能处理的数据类型。如果代码希望得到 String 类型,类型安全的特性将阻止你错误地将 Int 类型传递过去。这样可以在开发过程中尽可能早地发现与修正问题。
常量与变量 常量及变量将名称(如maximumNumberOfLoginAttempts 或 welcomeMessage) 与特定类型的值(如数字 10 或字符串 "Hello")关联起来。常量一旦赋值,其值不可再改变;而变量以后还可以再重新赋值。 常量与变量的声明 常量与变量使用前必须先分别用let关键字和var关键字声明,下面的例子展示了常量和变量如何跟踪用户的登录次数: 1 let maximumNumberOfLoginAttempts = 10 2 var currentLoginAttempt = 0 上例的代码可以解读为:声明一个名为maximumNumberOfLoginAttempts的常量,赋值为10。声明一个变量currentLoginAttempt,将其值初始化为0。 允许用户尝试登录的最大次数赋值给了一个常量,因为最大次数的值在运行时是不变的,而当前登录次数赋值给了一个变量,因为当前尝试登陆失败的次数是累加的。 你可以使用逗号分隔的方式在一行内完成多个常量或变量的赋值: var x = 0.0, y = 0.0, z = 0.0
类型标识 声明常量或变量时刻提供类型标识,以指定该常量或变量可以保存的值的类型。使用时在常量或变量名后面跟一个冒号,一个空格再加上要使用的类型名称: 1 var welcomeMessage: String
冒号在声明表示“...的类型是...”,所以,上例中的代码意思是:“变量welcomeMessage的类型是String”。 “String类型”意味着可以保存“任何String类型的值”,也就是说可以存储的“东西的类型(或东西的种类)”。 变量welcomeMessage现在可以保存任意字符串类型的值,不会报错: 1 welcomeMessage = "Hello"
常量与变量的命名 你几乎可以使用任何字符来给常量或变量命名,包括Unicode字符: 1 let π = 3.14159 2 let 你好 = "你好世界" 3 let = "dogcow 常量及变量的名称不可以包含数学符号、箭头、私有(即无效的)Unicode 码数,或绘制线条/方框用的字符。并且名称不能以数字开头, 但除了开头的其他地方都可以使用数字。 一旦你声明了一个指定了值类型的常量或者变量,那你就不能再次给它重新声明同名的常量或变量了,也不能更改使其存放不同类型的值,更不能把常量再次声明为变量,变量再次声明为常量。
你可以将变量的值重新更改为其它同类型的值,如下例中变量friendlyWelcome的值由“hello!”变为“Bonjour!”: 1 var friendlyWelcome = "Hello!" 2 friendlyWelcome = "Bonjour!" 3 //friendlyWelcome 的值现在为 "Bonjour!" 与变量不同的是,常量一旦被赋值就不可再更改。尝试更改将会报错,下面代码编译时会报错: 1 let languageName = "Swift" 2 languageName = "Swift++" 3 // 编译时报错 - languageName 不可更改 常量和变量的输出 通过printIn函数输出常量和变量的当前值: 1 println(friendlyWelcome) 2 // 输出 "Bonjour!” println 是一个全局函数,输出值并在末尾接换行符。例如在 Xcode 环境开发,println 会将输出内容输出至 Xcode 的“控制台”面板。(另一个函数 print 执行几乎一样的操作,不同之处在于,后者不会在输出值末尾换行。) 与 Cocoa 的 NSLog 函数相似,println 还能输出更复杂的日志消息,消息内容可以包含常量或变量的当前值。 Swift用字符串插入(string interpolation)的方式把常量名或者变量名当做占位符加入到长字符串中,提示Swift用当前常量或变量的值去替换这些占位符。将常量或变量名放入反斜杠符加一对圆括号中-- 1 println("The current value of friendlyWelcome is \(friendlyWelcome)") 2 // 输出 "The current value of friendlyWelcome is Bonjour!”
谢谢,Swifter-QQ群:362232993,同好者进~ Fork:https://github.com/Joejo/Swift-lesson-for-chinese
|
请发表评论