献给一起学习的小伙伴
- 做OC开发也快2年了,最近公司要求Swift来开发,组里的小伙伴就叫我整理个资料给他们,所以就抽空写了这个,每天写一点,把OC 和** Swift **的不同点都标注出来,方便大家对比,我也小小的回顾一下,希望看的小伙伴们持续关注.
1-Swift最基本的语法变化
- 导入框架 import UIKit
定义标识符时,必须声明该标识符是变量还是常量
声明标识符的格式:变量/常量关键字 名称 : 数据类型
语句结束时不需要加 ;
Swift中的打印语句:print(打印的内容)
oc版
#import "ViewController.h"
NSLog(@"Hello,oc");
swift版
import UIKit
var str = "Hello, playground"
print("Hello,swift")
2-常量 变量
- 在Swift中规定:在定义一个标识符时必须明确说明该标识符是一个常量还是变量
- 使用let来定义常量,定义之后不可以修改
- 使用var来定义变量,定义之后可以修改
oc版
int a = 0;
double const b = 2.333;
b = 2.12; //被const 修饰 不可变
swift版
//不可修改
let num1 = 10
//可以修改
var num2 = 20
num2 = 10086
3-Swift中数据类型
- Swift中的数据类型也有:整型/浮点型/对象类型/结构体类型等等
oc版
//这个就没什么好说的了 都差不多
swift版
// 定义一个Int类型的变量num1,并且赋值为100
var num1 : Int = 100
// 定义一个Double类型的常量num2,并且赋值为3.1415
let num2 : Double = 3.1415
- Swift中的类型推导
- Swift是强类型的语言
- Swift中任何一个标识符都有明确的类型
oc版
int a = 10;
double b = 2.333;
swift版
//类型推导
let num1 : Double = 3.14
//可以简写为
let num2 = 3.14
//字符串也同样可以推导
let string : String = "今天天气真好"
let string1 = "你睁眼说瞎话吗?"
注意:
如果定义一个标识符时有直接进行赋值,那么标识符后面的类型可以省略.
因为Swift有类型推导,会自动根据后面的赋值来决定前面的标识符的数据类型
总结起来这个类型推导还挺好用的
4- Swift中基本运算
- Swift中在进行基本运算时必须保证类型一致,否则会出错
- 相同类型之间才可以进行运算
- 因为Swift中没有隐式转换
- 数据类型的转化
- Int类型转成Double类型:Double(标识符)
- Double类型转成Int类型:Int(标识符)
oc版
//oc版有强制类型转换 相对方便点
int a = 10;
double b = 3.13;
int c = a + b;
double d = a + b;
NSLog(@"%d--%f",c,d);
// 13--13.130000
swift版
let num = 98
print(num)
var a = 3.1415926
print(a)
var b = 0;
b = num + Int(a)
print(b)
var w = 0.0;
w = Double(num) + a
print(w)
print("很简单也没什么难度啦")
在预告下,下次的更新内容:循环语句 字符串 数组 字典等等,不忙的话 明天会继续更新.
写于2016年4月26日晚