前言:Swift语法越来越重要,把前段时间学习的基本语法总结在一起,方便自己查看,毕竟公司项目还是OC,对Swift还是不熟悉—有些语法也许已经更新,以最新为准
Pragma mark — NO.1 Swift常量的使用注意
//定义一个常量
let a : Int = 20
//定义一个常量对象
// OC中创建对象 : [UIView alloc]init]
// Swift中: UIView()
let view : UIView = UIView()
//view = UIView() :错误写法(只能改变对象内部的属性,不能改变对象的内存地址)
view.backgroundColor = UIColor.redColor()
Pragma mark — NO.2 Swift中的类型推导
let a = 20
let b = 2.44
// Swift中快速查询标示符类型 alt + 鼠标左键
// let a : Int = 2.44 这样写是会报错的,a是int类型而赋值是浮点型就是不可以的
// Swift中的类型推导:就是直接给标示符赋值后,编译器会自动推导标示符是什么类型的
let view = UIView()
let btn = UIButton()
Pragma mark — NO.3 Swift中的基本运算
//1.相同类型之间才可以进行运算
let m = 20
let n = 3.14
// let result = m + n 这样写就会报错
let result = Double(m) + n
Pragma mark — NO.4 Swift中逻辑分支-if else
// : Swift 中if的写法
// : 1 if 后面的(可以省略)
// : 2 判断句不再有非0即真(非空即真) 判断句必须有明确的真假(Bool)
let a = 10
if a > 10 {
print("a是大于10的")
}else{
print("a是小于0吗")
}
// : 看看 else if 的用法
let score = 92
if score < 0 || score > 100 {
print("这是不合理的分数")
}else if score > 90 {
print("优秀")
}else if score > 80 || score < 90 {
print("良")
}else {
print("垃圾")
}
// : 3 三目运算符
let m = 40
let n = 30
let result = m > n ? m : n
//判断m大于n吗,大于取m,反之取n
Pragma mark — NO.5 Swift逻辑分支- guard
// 1.guard必须用在函数
// : 做一个例子 在函数中判断一个人能不能去网吧上网
let age = 20
// 这里可以显示出guard的强大之处,用if else 来做的话,会引起嵌套,代码可读性差
func online(age : Int) {
//如果条件不成立,执行else中的语句
//判断年龄
guard age >= 18 else{
print("回家玩去")
return
}
//判断带没带身份证
guard 带了 else {
print("回家拿身份证")
return
}
//判断带钱了吗
guard 带了 else {
print("回家拿钱")
return
}
print("开机上网")
}
//调用函数
online(age)
Pragma mark — NO.6 Swift逻辑分支-Switch
// 1.基本用法
let sex = 0
// 0:男 1:女 其他:其他
// 1> switch可以不跟() 2> case语句结束后可以不跟break,默认系统会加
switch sex {
case 0:
print("男")
// fallthrough
case 1:
print("女")
default:
print("其他")
}
// 2.基本用法的补充:
// 1>如果希望一个case中出现case穿透,那么可以在case语句结束后跟上fallthrough
// 2>case后面可以跟多个条件,多个条件以,分割
switch sex {
case 0, 1:
print("正常人")
default:
print("其他")
}
// 3.switch可以判断浮点型
let a : Double = 3.14
//if a == 3.14 {
// print("π")
//} else {
// print("非π")
//}
switch a {
case 3.14:
print("π")
default:
print("非π")
}
// 4.switch可以判断字符串
let m = 20
let n = 30
let opration = "+"
var result = 0
switch opration {
case "+":
result = m + n
case "-":
result = m - n
case "*":
result = m * n
case "/":
result = m / n
default:
print("非法操作符")
}
// 5.switch可以判断区间
let score = 93
switch score {
case 0..<60:
print("不及格")
case 60..<80:
print("及格")
case 80..<90:
print("良好")
case 90...100:
print("不错噢")
default:
print("不合理的分数")
}