swift 基础入门篇之简单语法

    Swift是苹果2014年推出的全新的编程语言,它继承了C语言、ObjC的特性,且克服了C语言的兼容性问题。Swift发展过程中不仅保留了ObjC很多语法特性,它也借鉴了多种现代化语言的特点,在其中你可以看到C#、Java、Javascript、Python等多种语言的影子。同时在2015年的WWDC上苹果还宣布Swift的新版本Swift2.0,并宣Swift即将开源,除了支持iOS、OS X之外还将支持linux。

    如果您希望从Swift学起,那么推荐你首先阅读苹果官方电子书《the swift programming language》,不会从零基础一点点剖析这门语言的语法,旨在帮助大家快速从ObjC快速过度到Swift开发中。即便如此,要尽可能全面的介绍Swift的语法特点也不是一件容易的事情,本文仅博主个人学习分享, 欢迎读者广提意见和建议,您的评价将让我们共同学习,共同进步.谢谢🌹

 

常量,变量

 • 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量

   • 使用let来定义常量,定义之后不可以修改
   • 使用var来定义变量,定义之后可以修改
import UIKit
let a : Int = 10
// 错误写法,当一个字段定义为常量时是不可以修改的
// a = 20

var b : Int = 20
// 因为b定义为变量,因此是可以修改的
b = 30

注意:
• 在真实使用过程中,建议先定义常量,如果需要修改再修改为变量(更加安全)
• 是指向的对象不可以再进行修改.但是可以通过指针获得对象后,修改对象内部的属性

#指定类型

var view : UIView
//常见对象
view = UIView()

//let view5 : UIView = UIView(frame: CGRect(x:50, y:50, height:50, width:50))
let views : UIView = UIView(frame: CGRect(x: 50, y: 50, width: 80, height: 80))
views.backgroundColor = UIColor.brownColor()

//枚举类型的用法
let btn : UIButton = UIButton(type: UIButtonType.Custom)
btn.frame = CGRectMake(20, 20, 50, 50)
btn.backgroundColor = UIColor.orangeColor()
btn.setTitle("🐔鸡", forState: UIControlState.Normal)
btn.setTitleColor(UIColor.redColor(), forState: UIControlState.Normal)

views .addSubview(btn)

# Swift中数据类型
Swift类型的介绍
• Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等
• 先了解整型和浮点型
• 整型
◦ 有符号
▪ Int8 : 有符号8位整型
▪ Int16 : 有符号16位整型
▪ Int32 : 有符号32位整型
▪ Int64 : 有符号64位整型
▪ Int : 和平台相关(默认,相当于OC的NSInteger)
◦ 无符号
▪ UInt8 : 无符号8位整型
▪ UInt16 : 无符号16位整型
▪ UInt32 : 无符号32位整型
▪ UInt64 : 无符号64位整型
▪ UInt : 和平台相关(常用,相当于OC的NSUInteger)(默认)
• 浮点型
◦ Float : 32位浮点型
◦ Double : 64浮点型(默认)
// 定义一个Int类型的变量m,并且赋值为10
var m : Int = 10
// 定义一个Double类型的常量n,并且赋值为3.14
let n : Double = 3.14

# Swift中的类型推导
• Swift是强类型的语言
• Swift中任何一个标识符都有明确的类型
• 注意:
◦ 如果定义一个标识符时有直接进行赋值,那么标识符后面的类型可以省略.
◦ 因为Swift有类型推导,会自动根据后面的赋值来决定前面的标识符的数据类型

Swift中基本运算
• Swift中在进行基本运算时必须保证类型一致,否则会出错
◦ 相同类型之间才可以进行运算
◦ 因为Swift中没有隐式转换
• 数据类型的转化
◦ Int类型转成Double类型:Double(标识符)
◦ Double类型转成Int类型:Int(标识符)
//类型
let ss = 3.14
var bb = 3
//转换
bb = 32
//运算
let cc = Int(ss) + bb
let gg = ss + Double(bb)

//第一种
//if ak > 0{
// print(ak)
//}

//第二种
if ak < 60{
print("不及格,吃屎吧你")
} else if ak < 70{
print("下次不进步你就惨了")
}else if ak < 80{
print("还不错,还要努力")
}else if ak < 90{
print("🍦")
}else{
print("🌹")
}


let viewer : UIView? = UIView()
//注意:此处的空格一定不可少
if viewer != nil {
viewer!.backgroundColor = UIColor.redColor()
}


四.guard的使用
• guard是Swift2.0新增的语法
• 它与if语句非常类似,它设计的目的是提高程序的可读性
• guard语句必须带有else语句,它的语法如下:
◦ 当条件表达式为true时候跳过else语句中的内容,执行语句组内容
◦ 条件表达式为false时候执行else语句中的内容,跳转语句一般是return、break、continue和throw
var age = 20

func passenger(age:Int) -> Void{

guard age >= 18 else{
print("滚回去,叫你吗来")
return
}
print("少看点, 伤身体")
}

passenger(1)

五.switch分支
switch的介绍
• Switch作为选择结构中必不可少的语句也被加入到了Swift中
• 只要有过编程经验的人对Switch语句都不会感到陌生
• 但苹果对Switch进行了大大的增强,使其拥有其他语言中没有的特性
switch的简单使用
• 基本用法和OC用法一致
• 不同之处:
◦ switch后可以不跟()
◦ case后可以不跟break(默认会有break)
• 例子:
let sex = 0

switch sex {
case 0 :
print("男")
case 1 :
print("女")
default :
print("其他")
}
• 简单使用补充:
◦ 一个case判断中,可以判断多个值
◦ 多个值以,隔开

switch支持区间判断
• 什么是区间?
◦ 通常我们指的是数字区间:0~10,100~200
• swift中的区间常见有两种
◦ 开区间:0..<10 表示:0~9,不包括10
◦ 闭区间:0...10 表示:0~10

 

posted @ 2016-03-16 21:02  Mr-WangKB  阅读(439)  评论(0编辑  收藏  举报