基本语法:
(1)一行代码可以不以;结尾,但是如果一行中写入两句代码,必须以;隔开
(2)变量或常量名可以是中文等(Unicode编码)
(3)常量或变量之间最好有空格。例如:
//会报错
let a= 1 + 2
let a = 1+ 2
//正确
let a = 1 + 2; // 编码规范推荐
let b = 3+4 // 也可以
数据类型:
(1)数值范围
下表显示了不同变量类型内存的存储空间,及变量类型的最大最小值:
类型 大小(字节) 区间值
Int8 1 字节 -127 到 127
UInt8 1 字节 0 到 255
Int32 4 字节 -2147483648 到 2147483647
UInt32 4 字节 0 到 4294967295
Int64 8 字节 -9223372036854775808 到 9223372036854775807
UInt64 8 字节 0 到 18446744073709551615
Float 4 字节 1.2E-38 到 3.4E+38 (~6 digits)
Double 8 字节 2.3E-308 到 1.7E+308 (~15 digits)
(2)类型别名
例如以下定义了 Int 的类型别名为 Feet:
typealias Feet = Int
var distance: Feet = 100
(3)类型推断
当声明常量和变量时,如果没有声明类型,会使用类型推断
let meaningOfLife = 42
// meaningOfLife 会被推测为 Int 类型
let pi = 3.14159
// pi 会被推测为 Double 类型 总是会推断为Double
变量
(1)变量输出
在字符串中可以使用括号与反斜线来插入变量,如下实例:
var name = "菜鸟教程"
var site = "http://www.runoob.com"
print("\(name)的官网地址为:\(site)")
可选类型(Optionals)
(1)定义
定义的变量是没有值的:
// 两种皆可 在类型和 ?之间没有空格。
var optionalInteger: Int?
var optionalInteger: Optional<Int>
如果可选类型T?包含类型为T的任何值(也就是说它的值是 Optional.Some(T) ),这个可选类型等于 true,反之为 false。
如果一个可选类型的实例包含一个值,你可以用后缀操作符 !来访问这个值,如下所示:
optionalInteger = 42
optionalInteger! // 42
使用操作符!去获取值为nil的可选变量会有运行时错误。声明可选整数数组,应该写成 (Int[])? 写成 Int[]? 会报错。
可选类型的应用:
import Cocoa
var myString:String? = nil
if myString != nil {
print(myString)
}else{
print("字符串为 nil")
}
以上程序执行结果为:
字符串为 nil
(2)强制解析
注意:
使用!来获取一个不存在的可选值会导致运行时错误。使用!来强制解析值之前,一定要确定可选包含一个非nil的值。定义时var myString:String!
获取值的时候不需要加!
// 强制解析
print( myString! )
(3)可选绑定
判断可选类型是否包含值,如果包含就把值赋给一个临时常量或者变量。实例:
var myString:String?
myString = "Hello, Swift!"
if let yourString = myString {
print("你的字符串值为 - \(yourString)")
}else{
print("你的字符串没有值")
}
常量
定义时必须含有初始值
条件语句
(1)? :可以用来替代 if...else 语句。它的一般形式如下:
Exp1 ? Exp2 : Exp3;
如果 Exp1 为真,则计算 Exp2 的值,如果 Exp1 为假,则计算 Exp3 的值。
(2) case 语句中如果没有使用 fallthrough 语句,则在执行当前的 case 语句后,switch 会终止,控制流将跳转到 switch 语句后的下一行。以下实例没有使用 fallthrough 语句:
var index = 10
switch index {
case 100 :
print( "index 的值为 100")
case 10,15 :
print( "index 的值为 10 或 15")
case 5 :
print( "index 的值为 5")
default :
print( "默认 case")
}
循环
(1)for-in 循环
实例
var someInts:[Int] = [10, 20, 30]
for index in someInts {
print( "index 的值为 \(index)")
}
(2)While 循环
如果条件为true,会重复运行一系列语句,直到条件变为false。
实例
var index = 10
while index < 20
{
print( "index 的值为 \(index)")
index = index + 1
}
(3)循环控制语句
continue 语句
//告诉一个循环体立刻停止本次循环迭代,重新开始下次循环迭代。
break 语句
//中断当前循环。
fallthrough 语句
//如果在一个case执行完后,继续执行下面的case,需要使用fallthrough(贯穿)关键字。
本文只是我在菜鸟教程上学习的一些自认为关键性的总结,如有需要请前往菜鸟教程学习。