Swift苹果开发语言取代PHP成为世界上最好!语言基本上都是差不多的,只是换了一种写法,更甚至可以说编程上思想都基本相同,只是换了一种表达方式iOS开发现在可以用两种语言开发,Objective-C和Swift,现在还处于OC到Swift的一个转换阶段,但是OC还是有非常大的市场的。




1、简单说一下

我们来简单说一下这三种语言。

OC语言底层是C语言,也是一种性非常高的语言,但是对比C语言增加了很多面向对象的特性。

C++也是性能超高的语言,也有非常多的复杂特性。

Swift是苹果新开发的语言,目的就是取代OC,我也正在学习,最大感受就是简洁与效率高。




2、最基本的头文件

最基本的说起。

OC中的头文件和实现文件;

.h文件类似C++中的.h文件;

.m文件类似.cpp文件;


头文件作用也都差不多,声明一些函数方法,属性或变量,作用都是提供接口。

Swift不一样,没有头文件!!直接用便可。

所有实现文件后缀都是.swift 。

C++导入头文件是用#include 。

OC导入头文件可以用#include和 #import,但是一般我们都用#import,例如 #import "ViewController.h" 。

因为#import导入同一个头文件多次也只会导入一次(已经导入会被忽略),防止重复导入。

OC还有一种用法是@class 类名,这样告诉编译器这是一个类,不要管他的内部细节,这样提高了效率,防止了头文件的循环引用,当然你不能访问这个类的内部细节

Swift也需要导入一些框架,直接import就行,不用#,例如 import Foundation 。




3、基本的数据类型

接下来我们来看一下基本的数据类型。

我就说一些比较常用的吧。



3.1、C++中的数据类型:

C++的我就不说了;



3.2、OC中的数据类型:

OC中很多数据类型都有NS前缀,那算因为OC是乔布斯第一次离开苹果后创建的公司NextStep所开发的,所以就有NS。

数据类型我只是用一些简单直白的创建方式,其实还有很多种创建方式。

[Objective-C] 纯文本查看 复制代码
//整型int,也可以用NSInteger,后者也是整型,并且不用考虑设备是32还是63位的
int a = 1;
NSInteger b = 2;

//浮点型和双浮点型,float,double,和C++的一样
float pi = 3.14;
double c = 5.3454;

//布尔类型
BOOL boolType = true;
//或者
bool boolType2 = false;

//字符串 NSString
NSString *str1 = @"这是一个字符串";
NSString *str2 = @"str2";
NSString *str3 = @"str3";

//数组 NSArray
NSArray *arr = @[str1, str2, str3];
//这样创建只能放OC的数据类型,例如上面的字符串

//字典
//NSDictionary类似C++中的map
//存放键值对
NSDictionary *dic = @{ str1 : @"1", str2 : @"2" };
//str1,str2是OC的数据类型,例如字符串


我只介绍了一些比较常用的类型,当然还有很多类似C++的地方。

例如NSInteger,无符号的写法是 NSUInteger 。

NSString,NSArray,NSDictionary是不可变类型,可变类型要加Mutable,例如NSMutableString,NSMutableArray..

还有一些其他的类型例如NSNumber数字类型,可以包装int, float, double等等。



3.3、Swift中的数据类型:

接下来看下Swift。

Swift的数据类型也差不多,无非就是Int,Float,Double,String这些,但是用起来,一个爽字还形容不了。

因为Swift有类型推导,并且非常屌!!

例如:

[Swift] 纯文本查看 复制代码
var str = @"hello world"


编译器便会自动推断str为String类型:

Swift开发语言将取代PHP成为世界最好!

Swift开发语言将取代PHP成为世界最好! - 敏捷大拇指 - Swift开发语言将取代PHP成为世界最好!


Swift中声明类型一般用let,和var,let表示定义常量,var定义变量。

var a = 1 把a推导为Int 当然你也可以写上类型 var a: Int = 1

在Swift中可以省略分号,写和不写都行,但定义两个变量放在同一行就要,分隔开嘛。

当然Swift对比OC也多了很多东西,例如元组tuple,闭包Closure等,很多用起来很简洁的东西





4、hello world

接下来就从最简单的开始——hello world。



4.1、C++实现的hello world
  
[C++] 纯文本查看 复制代码
#include <iostream>
using namespace std;

int main(int argc, const char * argv[]) {

	cout << "hello world" << endl;
	return 0;
}




4.2、OC实现的hello world
  
[Objective-C] 纯文本查看 复制代码
#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
	NSLog("hello word");
	return 0;
}




4.3、Swift实现的hello world

Swift就是这么简洁,可以直接运行!


OC的很多语法也接近C++。

至少很多方法都写的很长,但是看起来也很清晰,我这里也不说了。




5、Swift的一些简单语句

由于我最近跟Swifthumb上诸位开发者一起在学Swift,接下来介绍一下Swift的一些简单语句,到底有多简洁。



5.1、for语句

[Swift] 纯文本查看 复制代码
var a = 0
for i in 0..<4{
	a += I
}
print(a)


Swift开发语言将取代PHP成为世界最好! 2

Swift开发语言将取代PHP成为世界最好! - 敏捷大拇指 - Swift开发语言将取代PHP成为世界最好! 2


0 . . < 4 就是 0 ≤i < 4

0. . . 4 也可以表示 0 ≤i ≤4



5.2、闭包

所有的算法最后简化成一个>

这个>可以算是一个闭包的超简洁版,它本来是这样的

对,那一串,最后变成了 一个 >

这些只是冰山一角,股市一票而已

Swift学起来的给我的感觉就是简洁,新鲜,爽快!




6、总结

通过简单的介绍OC和Swift让大家了解一下这两种语言,iOS开发就是建立在这两种语言的基础上,无论是OC还是Swift还有很多有趣的语法等着我们去发现。

最后,相信Swift会取代PHP成为世界上最好的语言吧。