第一课
有个学习swift的文档很详尽 http://numbbbbb.gitbooks.io/-the-swift-programming-language-/
语法
导入框架 import UIKit
声明常量 let a : Int = 20
声明变量 var b : Int = 10
- 一般是首先声明常量,之后需要修改再改为变量
- 任何一个标识符都要有明确的类型
- 如果定义一个标识符时有直接进行赋值,那么标识符后面的类型可以省略; 因为swift有类型推导,会自动根据后面的赋值来决定前面的标识符的数据类型
运算
- 相同类型之间才可以进行运算
- 因为swift中没有隐式转换
- 必须保持类型一致,否则就会出错
如果非要进行计算,要先进行类型转化
- Int类型转成Double类型:Double(标识符)
- Double类型转成Int类型:Int(标识符)
分支
if else
- if后面的()可以省略
- 判断句不再有非0即真,必须有明确的真假(Bool --> true/false)
if a > b {
print("a大于b")
} else{
print("a小于等于b")
}
else if 的用法和else 一致
let score = 50
if score < 0 || score > 100 {
print("不合理的分数")
}else if score < 60 {
print("不合格")
}else if score < 80 {
print("及格")
}else if score < 100 {
print("优秀")
}
三目运算符
let num = score < 60 ? "~~~~(>_<)~~~~":"6666"
guard
guard需要写在方法中,判断条件不符合执行 反之跳过
//分数优秀的才能休息去玩
func play (score : Int){
guard score < 60 else {
return
}
guard score < 80 else {
return
}
print("考的好就是屌")
}
优点: 有优先级的判断并进行一些操作 ,可读性强
while && do while
while 同if 判断不需要加()
do while 变为 repeat while
switch
let sex = 0
//case 后面可以判断多个条件,多个条件以,分隔
switch sex {
case 0,1:
print("正常人")
default:
print("其他人")
}
//可判断浮点型
switch n{
case 3.15:
print("315")
default:
print("平常日")
}
支持区间判断
开区间:0..<10 表示0~9不包括10
闭区间:0...10 表示0~10
let m = 10
let opration = "*"
var result = 0
switch m {
case 0..<10:
print("小于10")
case 10...20:
print("10到20")
case 20..<50:
print("20到50")
default:
result = 0
}
支持字符串
let m = 10
let n = 21
let opration = "*"
var result = 0
switch opration {
case "+":
result = m+n
case "-":
result = m-n
case "*":
result = m*n
case "/":
result = m/n
default:
result = 0
}
for循环
for var f=0; f<10; f++ {
print(f)
}
不过貌似不支持这种写法了 还是playground报错提示用下面这种forin写法
for f in 0 ..< 10 {
print(f)
}
如果循环中没有用到参数f 也可以使用_下划线代替
for _ in 0 ..< 10 {
print("哈哈,写完啦")
}
小结:判断语句取消括号,对象类型分为常量和变量,对象取消set 方法 ,只有点方法.数据类型分明,没有了隐式转换.