Swift 2.1 Up and Running—— 变量和常量
Swift 2.1 Up and Running—— 变量和常量泊学原文 PlaygroundPlayground是Apple在2014年WWDC发布Swift的时候,和XCode一起发布的用于实时调试Swift代码的小工具。我们绝大部分讲Swift语言本身的视频,都会直接在Playground里完成。Playground会随着我们编写代码实时为我们完成编译,并自动为我们显示每一行代码的执行结果,无论是简单语句,循环,甚至是各种UI,Playground都可以完美胜任,是我们理解Swift中各种语言特性的利器。 我们打开XCode,选择Get started with a playground。 之后,Platform选择iOS,为自己的Playground写一个名字,例如我们用到的variables-and-constants。 点击Next按钮为Playground文件设置一个保存目录后, 就可以开始在Playground中编写代码了。 在上图中我们可以看到,Playground左边是我们编写代码的区域,右边则对显示出对应语句的执行结果。 从定义一个变量开始变量是编程语言中最常用的语法元素,它们用于在程序中把一个名字(例如:swiftString)和某种特定类型的值(例如:"Swift is fun.")关联起来。 在Swift里,我们使用var关键字来定义各种不同类型的变量: var Name = Value 例如,定义一些我们熟悉的基本类型变量: //: #### Fundamental types //: Integer var hours = 24 //: Double var PI = 3.14 //: Bool var swiftIsFun = true //: String var boxue = "boxueio.com" 除了这些基本类型之外,Swift还有一些自己特有的类型,例如:方便我们打包多个类型的Tuple //: Tuple - Pack many types of values together var me = ("Mars",11,"11@boxue.io") me.0 me.1 定义好一个Tuple之后,我们就可以使用示例代码中,me.0,me.1这样的方式来访问Tuple中的成员了。我们也可以像下面这样直接修改变量的值: hours = 12 PI = 3.14159 如果我们不希望变量的值被修改,我们就需要定义一种特殊的变量。 常量是不能被修改的变量定义常量的方法和变量类似,我们把关键字var,变成关键字let就可以了。例如: let minutes = 30 let fireIsHot = true 一旦我们定义常量之后,就不能再修改常量的值了,否则,编译器会告诉我们发生了错误。例如,我们修改常量fireIsHot: fireIsHot = false 这时,我们就可以在Playground中直接看到一个编译错误: Type inferende / annotation在前面的例子里,我们可以发现,无论是整数、浮点数、字符串还有Tuple,我们都没有明确的指定变量的类型, Swift编译器会根据我们为变量的赋值自动推导变量的类型,这个特性,在Swift里叫做Type Inference。 但有时,我们定义变量的时候,并不能确定变量的初始值,这个时候,我们就必须像下面这样明确告诉编译器我们需要的变量类型: var Name:Type 这种通过:Type指定变量类型的形式,在Swift中叫做Type annotation。例如: var x: Int var s: String 在代码中使用注释Swift和C以及Objective-C一样,支持用 // 开始的单行注释, 以及用 /**/ 包围的多行注释,包含在注释中的代码,Swift编译器不会进行处理。例如: //: Single line comment /*: A multiple line comment A multiple line comment A multiple line comment */ 另外,在Playground里,我们还可以给注释添加一些Markdown标记,这样Playground就可以帮我们渲染出类似这样的效果: 大家可以到来查看完整的Markdown内容,在这里,列一些我们经常会用到的。 使用markdown的方法很简单,我们在单行注释 // 或多行注释的开始 / 后面添加一个冒号 :,像这样 //: 或 /:。之后,我们点击Playground菜单中的:Editor > Show Rendered Markup 就可以看到经过渲染后的效果了。 下面,是一些我们比较常用的Markdown标记: 用#,##,###,####等表达的不同级别的标题; /*: # Title level 1 ## Title level 2 ### Title level 3 #### Title level 4 */
//: A *bold* or **Italic** font.
这里,每一个项目开始的 + 或 * 一定要和后面的item有一个空格。 /*: +unordered list item 1 +unordered list item 2 +unordered list item 3 */
/*: 1.ordered list item 1 2.ordered list item 2 3.ordered list item 3 */
/*: This line will not be rendered. The above line ---- The bottom line */
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |