首页 > 代码库 > Swift学习——Swift基础详解(一)
Swift学习——Swift基础详解(一)
注:由于基础部分在Swift Tour 中已经大体的说明了,所以在详解中不会达到100%的原文释义
Constants and Variables 常量和变量
常量和变量都需要声明名称和类型(作为程序员,这些基础也就不说了),常量一次赋值不能改变,变量的值可以改变
Declaring Constants and Variables 声明常量和变量
常量和变量在使用之前必须要声明,使用let关键字定义常量,var关键字定义变量
下面的例子可以用来定义用户登录的时候最大的尝试次数:
let maximumNumberOfLoginAttempts = 10 var currentLoginAttempt = 0
可以在一行定义多个变量或者常量,用逗号隔开:
var x = 0.0, y = 0.0, z = 0.0
Type Annotations 类型标志
类型标志(类型注释)可以标记你定义的变量或者常量允许存储的类型,在变量/常量的名称后面放置一个冒号,然后留一个空格,然后写上类型的名称
var welcomeMessage: String这个变量就可以存储String类型了
welcomeMessage = "Hello"在实际编码过程中,你几乎不需要给变量/常量类型标志,因为当你第一次赋值的时候,Swift已经知道了变量的类型,如果声明变量的时候没有赋值,那Swift才通过类型标志识别变量的类型
Naming Constants and Variables 命名变量和常量
你可以使用任意你喜欢的字符命名变量和常量,包括Unicode编码:
let π = 3.14159 let 你好 = "你好世界" 你妹的,白打了那么多了,因为粘贴一个表情,后面写的都没有了,好桑心啊
在Swift中,对于常量和变量的名称定义宽泛了许多
常量和变量命名的时候不能包含数学符号、箭头、私人定义的Unicode字符,或者用点和横线拼接的字符,也不允许以数字开头,但是数字可以在名称中的其他地方
一旦你用一种确定的类型定义了一个常量或者变量,你就不能用同样的变量名定义其他变量了,也不允许改变变量/常量的类型,变量也不可以转换成常量,常量也不可以转换成变量
如果你想使用Swift关键字作为变量名称,那么小伙伴只能对你说(no zuo no die why you try),既然你这么坚持用的话,Swift也提供了你使用的方法,使用括号把变量名称括起来,像这样(`)
改变变量的值:
var friendlyWelcome = "Hello!" friendlyWelcome = "Bonjour!" // friendlyWelcome is now "Bonjour!"常量的值不能改变,改变会报编译错误:
let languageName = "Swift" languageName = "Swift++" // this is a compile-time error - languageName cannot be changed
Printing Constants and Variables 打印常量和变量
可以使用println进行打印:
println(friendlyWelcome) // prints "Bonjour!之前用过OC的都知道啦,和NSLog一个功能,C,C++里面也有啊,而且还可以带参数的。
println和print的区别就是:都是用来控制台打印的,println打印之后换行,print打印之后不换行
也可以打印一个字符串:
println("This is a string") // prints "This is a string还有一种方法可以将变量或者常量放到字符串中,将变量放入括号()中,在前面加上反斜杠 \ ,如 \(变量.常量)
println("The current value of friendlyWelcome is \(friendlyWelcome)") // prints "The current value of friendlyWelcome is Bonjour!
Comments 注释
单行注释
// this is a comment多行注释
/* this is also a comment, but written over multiple lines */嵌套注释:
/* this is the start of the first multiline comment /* this is the second, nested multiline comment */ this is the end of the first multiline comment */
嵌套注释的功能就是可以一次性注释一大段的代码,而且不用管这段代码中间的其他注释
Semicolons 分号
Swift代码可以不写分号,每一行是一个语句,当然写了也可以,如果一行要放两个语句,就用分号隔开
let cat = "cats"; println(cat) // prints "cats"