---主要内容:常量和变量、输出、注释
1.基础知识
Swift是一种新的编程语言,用于iOS和OS X的应用程序开发。尽管如此,Swift中的许多地方用到的是你所熟悉的C和Objective-C的开发经验。
Swift提供了它自己版本的所有基于C和OC的基本数据类型。包括整型的Int、实型的Float、双精度型的Double、布尔型的Bool、字符串型的String。Swift还提供了强大的两个主要集合类型,Array和Dictionary.
像C一样,Swift使用标识符来对变量进行存储和引用。值不能改变的变量叫做常量。比C语言中的常量更强大的是,Swift中的常量会出现在全部代码中,使代码更安全,意图更明确。当你使用常量时,并不需要更改它的值。
除了熟悉的类型,Swift还引入了Objective-C中无法实现的高级类型。比如元组,他能够让你创建和传递元组中的值。元组可以将一个函数返回的单一的复合值转为多个值。
Swift还引入了自选类型,来处理不同情况下的值。 Optionals可以选择“有一个值,它等于x”,或者“没有一个值”, Optionals类似于OC中使用的nil指针。但是optinal可以指向任何类型,并不只是类。 Optionals更加安全,比OC中的nil指针更富有表现力。而且它是Swift所有强大功能的核心。
Optionals是Swift作为一种安全语言的表现。Swift可以帮你弄清你的值的类型,并且处理你的代码。如果您的代码部分需要一个字符串,类型安全会防止你传递一个错误的类型。这使你能够发现并尽可能早地在开发过程中修正错误。
2.常量和变量
常量和变量把名字(例如maximumNumberOfLoginAttempts或 welcomeMessage)和特定类型的值(例如数字“10”或字符串“Hello”)联系起来。一些常量在你设置一次后就不能被改变,而变量在设置初始值后还可以改变。
3.常量和变量的声明
常量和变量使用前必须先声明,在声明常量时使用 let 关键字,声明变量时使用 var 关键字。可以在记录用户登陆次数中用到。
let maximumNumberOfLoginAttempts = 10
var currentLoginAttempt = 0
以上代码可以被解读为:定义了一个被称为maximumNumberOfLoginAttempts的常量。同时给他一个值“10”。然后定义了一个被称为currentLoginAttempt的变量。同时给了它一个值“0”。
在这个例子中,允许的登录尝试的最大次数被声明为一个常数,因为最大的值从不改变。当前的登录尝试计数器被声明为一个变量,因为该值必须在每次登录尝试失败后递增。
你可以在一行上声明多个变量,但必须用“,”隔开。
var x = 0.0, y = 0.0, z = 0.0
注:如果在你的代码中存储的值不会改变,那么应该把它声明为一个常量。而变量仅用于存储需要改变的值。
4.类型说明
当你定义一个常量或变量时你可以提供一个tpye annotation,用于区分常量或变量存储的值的类型。在变量名后加一个“:”然后跟类型名,就可以明确变量的类型。
这个例子为变量WelcomeMessage提供了一个类型说明,用来表示该变量存储的数据类型为string类型。
var welcomeMessage: String
上面的代码中冒号的意思是“...of type...”。它可以被读作:定义了一个名叫WelcomeMessage的变量,它的类型为string。
“of type String”的意思是“可以存储string类型的数据或者是“把它看作“string类型的值可以存储”。
welcomeMessage变量现在就可以设置任何字符串而不被报错了。
welcomeMessage = "Hello"
注:在实际情况下,需要你说明类型的情况很少。如果你在定义变量或常量时给它一个初始值,那么Swift就会根据值来自动判断它的类型。在welcomeMessage的例子中,welcomeMessage在定义时并没有给初始值,所以该变量的值的类型就会通过类型说明来判断。
5.常量和变量的命名
在命名时,你几乎可以使用任何字符来命名常量或变量。包括Unicode。
常量和变量的命名不能使用数字符号、箭头、私有(或无效的)、横线或者方块等。可以使用数字,但不能以数字开头。
一个变量或常量只能被声明一次。不能重复声明,且声明后不能改变其存储类型。但可以将常量改为变量,或将变量改为常量。
注:如果你需要使用一个Swift关键字来声明不同的变量或常量,你可以在名字后加“ ’ ”。但是这种做法并不提倡。
你可以改变变量中的值,比如将变量friendlyWelcome的值从“Hello”改为“Bonjour”。
var friendlyWelcome = "Hello!"
friendlyWelcome = "Bonjour!"
// friendlyWelcome is now "Bonjour!
不同于变量,一个常量一旦被赋值,则无法改变,否则在编译时会报错。
let languageName = "Swift"
languageName = "Swift++"
// this is a compile-time error - languageName cannot be changed
6.常量和变量的输出
你可以使用println函数来输出变量或常量的当前值。
println(friendlyWelcome)
// prints "Bonjour!
println是一个全局函数,用于在一行代码结束后输出一个值。
使用println函数还可以直接打印字符串。
println("This is a string")
// prints "This is a string"
println还可以输出更复杂的信息。与Cocoa中的NSLog类似。
Swift可以使用字符串插入,插入的内容可以是常量或变量,用变量名来代替它的值,使用方法是\后加(变量名)。
7.注释
Swift中的注释与C基本一致。唯一不同的地方就是可以在一个块注释中再次嵌套一个块注释。如:
/*
/*
注释。。。
*/
*/
注释就是这些。在这里就不赘述了。