简介
Swift 是一种用于iOS、macOS、watchOS和tvOS应用程序开发的新编程语言。尽管是新的语言,它还是有许多部分和C及OC非常的相似。
C和OC所有基本类型,在swift中都有自己的版本。包括整数的Int,浮点值的Double和Float,布尔值的Bool,文本数据的String,它还提供了三种非常强大主要集合类型(Array、Set和Dictionary)- Collection Types。
与C一样,Swift使用变量通过标识名存储和引用值。Swift还大量使用了值不可更改的变量,这些被称为常量,比C中的常量强大得多。在Swift中使用常量是为了在处理不需要更改的值时使代码更安全、更清晰。
除了熟悉的类型,swift还介绍了未在OC中使用的高级类型,例如元组(tuples),元组允许你创建和传递一组数据。你可以使用元组将方法中的多个值作为单个复合值返回。
Swift还引入了可选类型(Optionals type),用于处理缺少值的情况。Optionals表示“有一个值,它等于x”或“根本没有值”。使用Optionals,类似于OC的某个指针=nil,但是swift中 optionals可以用于任何类型,而不仅仅是classes。它们是swift许多最强大功能的核心。
Swift是一种类型安全的语言,这意味着swift可以帮助你明确代码可以使用的值的类型。如果部分代码需要String,类型安全性会防止你错误地传递Int,同样,类型安全防止您意外地将可选字符串传递给需要非可选字符串。类型安全性帮助您在开发过程中尽早捕获并修复错误。
常量与变量
常量和变量将名称(如maximumNumberOfLoginAttents或welcomeMessage)与特定类型的值(如数字10或字符串“Hello”)相关联。常量的值一旦设置就不能更改,而变量将来可以设置为不同的值。
常量和变量的声明
常量和变量必须在使用前声明,声明常量和变量时分别使用关键字 let和var。
//声明一个常量,并赋值为10,以后的值不能更改
let maximumNumberOfLoginAttents = 10
//声明一个变量,并赋值为0,值可以更改
var currentLoginAttempt = 0
//还可以在一行当中声明多个常量或者变量,中间用逗号隔开
var x=0.0,y=0.0,z=0.0
如果x的值后续不需要改变则应该使用关键字 ‘let’ 来替换 ‘var’*
类型注解
可以在声明常量或变量时提供类型批注,用以明确常量或变量可以存储的值的类型。
//声明一个String 类型的变量 welcomeMessage
var welcomeMessage: String
//赋值
welcomeMessage = "Hello"
//一次声明多个变量
var red, green, blue: Double
实际开发中很少需要类型注解,swift可以推断出已经初始化的常量或变量的类型。
常量和变量的声明
其名称可以包含任何字符:
let 你好 = "hello word”
let = “cowdog”
常量及变量名称不能包含空格、数学符号、箭头、专用的Unicode、线条、框型图等。
常量及变量名称也不能以数字开头。
常量一旦赋值,不允许再修改。
let languageName = "Swift"
languageName = "Swift ++ "
//This is a compile-time error: languageName cannot be changed
//编译时错误,常量languageName值不能被改变
注意:
常量与变量名称声明时 尽量尽量 不要 与 swift 关键字相同。(必须的请在变量名两端加 `)
打印常量及变量
使用函数 print(_:separator:terminator:)
print(welcomeMessage)
print函数是全局函数,可以将一个或多个值打印输出。在Xcode中,print函数会再控制台窗口中将值打印输出。separator,terminator 参数都有其默认值,所以在使用print的函数时,可以将其忽略。
Swift使用字符串穿插的方式将常量或变量的名称作为占位符 包含在较长的字符串中,提示Swift见其替换为常量或变量的当前值,其格式如下:
let friendlyWelcome = "hello world!"
print("The current value of friendlyWelcome is \(friendlyWelcome)")
//prints: The current value of friendlyWelcome is hello world!
注释
在代码中使用注释,作为对自己的提醒,在代码编译时 将忽略 这些注释。
注释的格式
// This is a comment . 这是注释,为单行注释
/* This is also acomment ,but is written over multiple lines.
此为多行注释,以(/*)开头,以(*/)结尾,
*/
print("hello world")
分号
Swift 不需要再每行代码结尾写分号(“;”)。但是,一行当中有多个单独的语句,则需要 分号间隔开。
let cat = "";print(cate)
//prints ""
这一章有点多,不怕浪费纸张,下一章接上。