泊学Swift系列之Swift Up and Running——变量和常量

Swift Up and Running——变量和常量

泊学原文

泊学技法视频

当我们学习一门语言的时候,无论是说还是写,也无论是外语或者编程语言,我们都会用自己已经掌握的语言中的元素去理解新语言中对应的部分。学习Swift也一样,作为一种编程语言,它有着和Objective-C,JavaScript或C#等其它编程语言共通的概念和类似的表达方式。如果你或多或少了解过一些编程语言,学习Swift将会是一个非常轻松的过程。

Playground

Playground是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 = "boxue.io"

  

除了这些基本类型之外,Swift还有一些自己特有的类型,例如:方便我们打包多个类型的Tuple

//: Tuple - Pack many types of values together
var me = ("Mars", 11, "[email protected]")
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中直接看到一个编译错误:

“只要程序中的变量值不会被修改,就总应该使用let来定义它。这不仅可以防止变量被意外修改,编译器还可以针对常量做更多优化。”

最佳实践


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有一个空格。

/*:
# 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, 2, 3, 4表示有序列表:

    /*:
     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
*/

  

时间: 2024-12-14 11:47:40

泊学Swift系列之Swift Up and Running——变量和常量的相关文章

泊学Swift系列之Swift Up and Running——整数和浮点数

Swift Up and Running——整数和浮点数 泊学原文 泊学技法视频 Swift里,数字分为整数(例如:1 / 10 / 100/ 1000等)和浮点数(例如:3.14 / 1.44 / 2.71等).我们先来看整数. 整数 - Int & UInt 根据一个整数变量占据的内容空间(8 / 16 / 32 / 64-bit)以及整数是否带有符号(Unsinged),Swift一共定义了8种不同的整数类型: Int8 Int16 Int32 Int64 UInt8 UInt16 UIn

swift基本用法-var/let定义变量和常量

// Playground - noun: a place where people can play import UIKit //------------------------------------------------------------------------------ // 1. 行打印一个字符串 println("Hello, World!") //---------------------------------------------------------

Swift基础1.1——基本的语法—变量和常量

前些日子.第一届Swift开发人员大会开了之后.身边非常多搞OC的朋友就按捺不住了. 都认为是时候学一下Swift了,毕竟Swift已是趋势. 也是应他们再三要求,让我整理一下Swift的学习心得.今天就从Swift的基本的语法说起-- 定义 let 定义常量,一经赋值不同意再改动 var 定义变量.赋值之后仍然能够改动 // 定义常量而且直接设置数值 let x: Int = 10 // 常量数值一经设置,不能改动,下面代码会报错 // x = 30 // 使用 `: 类型`.只只定义类型.而

窥探Swift系列博客说明及其Swift版本间更新

Swift到目前为止仍在更新,每次更新都会推陈出新,一些Swift旧版本中的东西在新Swift中并不适用,而且新版本的Swift会添加新的功能.到目前为止,Swift为2.1版本.去年翻译的Swift书籍是1.0版本,所以上面一些东西并不在适用.虽然Swift语言仍在更新,但是其整体的基础框架已经形成,大的改动应该不会有,版本的更新更多的是语言新功能的添加和完善,所以并不用担心现在学的Swift会过时.更新也就是在原有的基础上去更新,所以学学Swift还是很有必要的.新的Swift版本中引入了好

[Swift系列]002-基础语法

基础语法就那老几样,很快可以说完 [常量.变量] 1.变量用 var,系统自动去判断类型,但变量再次赋值需保持数据类型一致 var  a=50 相信用过js/java/C#的,对这个var都不陌生 使用  var  变量名:数据类型  = 变量值 这种格式可以指定具体的数据类型,比如要指定float时 var  x:Float = 12.5 不这样写,直接var x=12.5,系统默认是double 2.常量用 let let pi=3.14 常量也可以使用绝对数据类型来定义: let x:Do

《从零开始学Swift》学习笔记(Day58)—— Swift编码规范之变量或常量声明规范

原创文章,欢迎转载.转载请注明:关东升的博客 声明是在声明变量.常量.属性.方法或函数和自定义类型时候需要遵守的规范. 首先变量或常量时每行声明变量或常量的数量推荐一行一个,因为这样以利于写注释.示例代码如下. 推荐使用: let level = 0 var size = 10 不推荐使用: let level = 0; var size =10 变量或常量的数据类型,如果有可能应尽可能采用类型推断,这样代码很简洁.示例代码如下. 推荐使用: let level = 0 var size = 1

1.Swift教程翻译系列——关于Swift

英文版PDF下载地址http://download.csdn.net/detail/tsingheng/7480427 我本来是做JAVA的.可是有一颗折腾的心,苹果公布Swift以后就下载了苹果的开发文档.啃了几天.朦朦胧胧的看了个几乎相同,想静下心看能不能整个翻译出来.我英语一般般,仅仅是大致能看明确意思,非常多形容词不晓得该怎么说.希望众大神看到不合适的地方能指正.以下是第一篇,About Swift. 这篇最难翻译了. Swift是一种新的用于iOS和OS X应用开发的编程语言Swift

swift 深入理解Swift的闭包

我们可用swift的闭包来定义变量的值. 先来一个简单的例子大家先感受感受. 定义一个字符串的变量的方法: 直接赋值 var str="JobDeer" 还可以用闭包的方式定义: var str:String={ return "JobDeer" }() 闭包还可以这么定义,省略了等号和括号: var str:String{ return "JobDeer" } 闭包中可以定义get方法. var str:String{ get{ return

iOS开发Swift篇—(二)变量和常量

一.语言的性能 (1)根据WWDC的展示 在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍 在实现 RC4加密算法时Objective-C的的性能是Python的127倍,Swift的性能是Python的220倍 有持怀疑态度的国外程序员,也对Objective-C和Swift的性能进行了测试 http://www.splasmata.com/?p=2798 (2)说明 目前的性能不是开发者最需要担心的问题 苹果已经全盘掌握了这个