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程序的时候就举步维艰了.那些模棱两可的概念在头脑中瞬间就蒸发了,所以还是决定从最基本的蓝牙连接过程进行.这里 ...
随机推荐
- SQL--使用NewID函数,创建GUID列
USE master GO IF EXISTS (SELECT * FROM sysdatabases WHERE name='DB_Temp') DROP DATABASE DB_Temp GO C ...
- LeetCode - Convert Sorted Array to Binary Search Tree
题目: Given an array where elements are sorted in ascending order, convert it to a height balanced BST ...
- C语言学习001:让程序跑起来
编译工具下载 MinGW - Minimalist GNU for Windows 编译运行 #include <stdio.h> int main(){ puts("C roc ...
- Newtonsoft.Json 的序列化与反序列化
首先补充一点,Json.Net是支持序列化和反序列化DataTable,DataSet,Entity Framework和NHibernate的.我举例说明DataTable的序列化和反序列化.创建一 ...
- ASP.NET MVC初识
最近在博客园看到了很多关于MVC的示例,自己打算写下来记录一下,如果有写得不对的地方,望大侠指出! 开始搭建项目 1. 建立Web项目 文件—>新建项目—>选择ASP.NET MVC4 W ...
- android 开发:shape和selector和layer-list的(详细说明)
目录(?)[+] Shape 简介 使用的方法 属性 Selector 简介 使用的方法 layer-list 简介 例子 最后 <shape>和<selector>在An ...
- javascript的一些bug
JavaScript是如今最受欢迎的编程语言之一,但受欢迎同时就是该语言自身的各种特性带来的副作用,无论该语言多美妙,每天还是有成千上万的程序员弄出一堆bug.先不要嘲笑别人,或许你也是其中之一. 给 ...
- 在Win Server 2012中安装.NET Framework 3.5的问题
在Windows Server 2012 上安装 SQL Server 2012 时,提示 启用 Windows 功能 NetFx3 时出错,错误代码:-2146498298.请尝试从 Windows ...
- MySQL Cursor
MySQL Cursor Summary: in this tutorial, you will learn how to use MySQL cursor in stored procedures ...
- 设置文件为源文件(和src一样)
点击project->properties->java build path->source