Swift 初步了解
Swift 初步了解
前言:
本篇博客会结合OC对Swift进行简单介绍.
OC 用NSLog输出日志
NSLog(@"旭宝爱吃鱼");
Swift 用print输出日志
print("旭宝爱吃鱼")
Swift语句结束不需要加 ; 号
import Foundation
print("旭宝爱吃鱼")
常量和变量
OC 定义常量
const int a = 10;
Swift 定义常量
let a = 10
OC 定义变量
int a = 10;
Swift 定义变量
var a:Int = 10
Swift 类型不确定必须先赋初始值,以便确定类型
图片(类型不确定,没有赋初始值)

图片(类型确定,没有赋初始值)

图片(类型不确定,赋初始值)

图片(类型确定,赋初始值)

Float 表示32位浮点型
Double 表示64位浮点型
Swift类型的长度比OC更精确
Int,Int8,Int16,Int32,Int64,UInt
Swift 是类型安全的语言,如果直接赋值错误,直接报错,OC不会
图片(OC)

图片(Swift)

Swift 不允许隐式转换,但是可以显式转换
图片(隐式转换)

图片(显示转换)

对类型长度的检测
图片(可以检测出来的方法)

图片(不可以检测出来的方法->编译不会出错但是运行后崩溃)
编译:

运行:

运算符
+ - * / % ++ --
注意: ++ -- 将在Swift3.0中废弃
OC与Swift除了取模运算符,其他运算符用法都一样
图片(OC取模)

图片(Swift取模->支持小数)

Swift 类型安全 运算时保证运算类型一致(Float转Int取整 不四舍五入)
图片:

OC 支持连续赋值 Swift不支持连续赋值
图片(OC):

图片(Swift):

范围运算符:
封闭范围运算符:
包括闭包区域所有值: a...b
半封闭范围运算符
包含头不包含尾: a..<b
应用场景:遍历数组
for i in 1...5{
print(i)
}
for i in 1..<5{
print(i)
}
BOOL
C OC 并没有真正意义上的bool值
C 0 假 非0即真
OC 的BOOL类型 typedef signed char BOOL
Swift真正的BOOL
真: true 假: false
Swift 初步了解的更多相关文章
- Swift初步介绍
Swift是本届WWDC大会苹果推出的一门新开发语言,开发者网站上已经放出了这门新语言的介绍.教程和手册,如果手里有一台iOS设备的话,通过苹果的iBooks应用,从它的官方书店里搜索Swift,可以 ...
- c++、oc、swift初步评价
c++是面向对象的多态语言: oc是面向对象的动态语言: swift是面向对象.面向协议.高阶类型.函数式编程语言:
- 现代的新语言--Swift初探
新的语言 WWDC简短的介绍,新的语言Swift就问世了,尽管新语言的名字导致贴吧下歌手粉丝和开发人员们争抢地盘- -,只是雨燕就是这么来了. WWDC keynote里给Swift打上了非常多标签: ...
- [转]关于 Swift 的一点初步看法
本文转自:http://onevcat.com/2014/06/my-opinion-about-swift/ 感谢原作者 虽然四点半就起床去排队等入场,结果还是只能坐在了蛮后面的位置看着大屏幕参加了 ...
- 关于 Swift 的一点初步看法
本文转自:http://onevcat.com/2014/06/my-opinion-about-swift/ 感谢原作者 尽管四点半就起床去排队等入场,结果还是仅仅能坐在了蛮后面的位置看着大屏幕參加 ...
- swift学习初步(四)-- 函数
好了,让我们开始接着前几天写的系列博客开始今天的这篇博客.在swift里面如果你需要定义一个方法的话,你需要使用关键字:func,请看下面的这段代码: func sayHello(name:Strin ...
- swift学习初步(三)--控制流操作
在上一篇博客里面,我谈到了swift里面的一些基本类型以及相关的操作,相信你看了之后一定会觉得其实swift也不难嘛.好吧,这篇博客里面要谈的一些高级操作,可能会让你有点头疼了. 好了,废话不多说了, ...
- Swift学习初步(一)
前几天刚刚将有关oc的教程草草的看了一遍,发现oc其实也不像传说的那么难.今天又开始马不停蹄的学习Swift因为我很好奇,到底苹果出的而且想要代替oc的编程语言应该是个什么样子呢?看了网上的一些中文教 ...
- 基于swift语言iOS8的蓝牙连接(初步)
看过一些蓝牙App的事例,大体上对蓝牙的连接过程进行了了解.但是开始真正自己写一个小的BLE程序的时候就举步维艰了.那些模棱两可的概念在头脑中瞬间就蒸发了,所以还是决定从最基本的蓝牙连接过程进行.这里 ...
随机推荐
- JSONP实现跨域
首先提出:什么是跨域?如何解决跨域? 跨域可以简单的理解为从一个域名访问另一个域名,由于javascript的同源政策的限制,出于安全的考虑,不允许浏览器这么做.比如a.com 域名下的js无法操作b ...
- Auto Mapper02《demo》
学习这些基本上网上都有一些教程或者别人做的demo,我是按照这个方式去学习的.先做个demo,学会如何去使用它,接着去慢慢的了解它是如何的运行的,理解里面的一些基本的基础知识.我们不可以再像 ...
- 两种CSS3圆环进度条详解
晚上睡觉之前,我抽了1个多小时,研究了一下圆环进度条,结合从网上查阅的资料,我终于掌握了两种圆环的生成方法. 这次的效果就是单纯的CSS3效果,也没有写具体的JS,等以后有时间在好好整理一下吧~. 第 ...
- C#骏鹏自动售货机接口
MachineJP类: 第1部分:串口初始化,串口数据读写 using System; using System.Collections.Generic; using System.IO.Ports; ...
- C#串口通信—向串口发送数据,同步接收返回数据
最近写C#串口通信程序,系统是B/S架构.SerialPort类有一个DataReceived事件,用来接收串口返回的数据,但这种方式在C/S架构下很好用,但B/S就不好处理了.所以写了一个同步模式接 ...
- wcf和web service的区别
1.WebService:严格来说是行业标准,不是技术,使用XML扩展标记语言来表示数据(这个是夸语言和平台的关键).微软的Web服务实现称为ASP.NET Web Service.它使用Soap简单 ...
- jquery-easyui-tree异步树
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...
- DevExpress winform XtraEditor常用控件
最近在公司里面开始使用DevExpress winform的第三方控件进行开发和维护,这里整理一些常用控件的资料以便于后续查看 ComboBoxEdit 这个控件和winform自带的控件差不多,使用 ...
- C++11学习笔记
C++11 1.long long新类型 2.列表初始化 int t=0; int t={0}; int t(0); int t{0}; 注意:如果我们使用列表初始化有丢失信息的风险,则编译器报错 l ...
- Guava学习笔记:Range
在Guava中新增了一个新的类型Range,从名字就可以了解到,这个是和区间有关的数据结构.从Google官方文档可以得到定义:Range定义了连续跨度的范围边界,这个连续跨度是一个可以比较的类型(C ...