李洪强iOS开发Swift篇—02_变量和常量

一、语言的性能

(1)根据WWDC的展示

在进行复杂对象排序时Objective-C的性能是Python的2.8倍,Swift的性能是Python的3.9倍

在实现 RC4加密算法时Objective-C的的性能是Python的127倍,Swift的性能是Python的220倍

有持怀疑态度的国外程序员,也对Objective-C和Swift的性能进行了测试 http://www.splasmata.com/?p=2798

(2)说明

目前的性能不是开发者最需要担心的问题

苹果已经全盘掌握了这个语言的方方面面:从底层编译框架到编译器再到语言设计

优化之路才刚刚开始,作为开发者,需要给这门新语言一点点耐心和信心

二、Swift与Objective-C代码格式对比

以添加一个按钮为例

(1)Objective-C语言

UIButton *btn = [[UIButton alloc] init];

btn.frame = CGRectMake(20, 20, 100, 100);

btn.backgroundColor = [UIColor blueColor];

[self.view addSubview:btn];

(2)Swift语言

var btn = UIButton()

btn.frame = CGRectMake(20, 20, 100, 100)

btn.backgroundColor = UIColor.blueColor()

self.view.addSubview(btn)

三、语法须知

1.Swift的源文件拓展名是.swift

  

2.Swift语言的2个不需要

(1)不需要编写main函数

  从上往下按顺序执行,所以最前面的代码会被自动当做程序的入口

(2)不需要在每一条语句后面加上分号

  let radius = 10  你喜欢的话,也可以加上   let radius = 10;

  注意:有一种情况必须加分号:同一行代码上有多条语句时 let radius = 10;    let radius2 = 15

(3)关于注释

1)单行注释

  // 这是单行注释

2)多行注释

/*  这是多行注释

这是多行注释 */

3)多行注释可以嵌套多行注释

/* 外层注释

/* 内层注释

内层注释 */

外层注释 */

四、变量和常量

1.声明常量和变量

用let来声明常量  let radius = 10

用var来声明变量 var age = 20   或者是var x = 0.0, y = 0.0, z = 0.0

2.基本上可以用任何你喜欢的字符作为常量和变量名

(1)let π = 3.14159

(2)let 网址 = "http://ios.itcast.cn"

(3)let

李洪强iOS开发Swift篇—02_变量和常量的更多相关文章

  1. 李洪强iOS开发Swift篇---11_变量&常量&元组

    李洪强iOS开发Swift篇---11_变量&常量&元组 说明: 1)终于要写一写swift了.其实早在14年就已经写了swift的部分博客,无奈时过境迁,此时早已不同往昔了.另外,对 ...

  2. 李洪强iOS开发Swift篇---12_NSThread线程相关简单说明

    李洪强iOS开发Swift篇---12_NSThread线程相关简单说明 一 说明 1)关于多线程部分的理论知识和OC实现,在之前的博文中已经写明,所以这里不再说明. 2)该文仅仅简单讲解NSThre ...

  3. 李洪强iOS开发Swift篇—10_方法

    李洪强iOS开发Swift篇—10_方法 一.简单说明 跟其他面向对象语言一样,Swift中的方法可以分为2大类: (1)实例方法(Instance Methods) 在OC中,实例方法以减号(-)开 ...

  4. 李洪强iOS开发Swift篇—09_属性

    李洪强iOS开发Swift篇—09_属性 一.类的定义 Swift与Objective-C定义类的区别 Objective-C:一般需要2个文件,1个.h声明文件和1个.m实现文件 Swift:只需要 ...

  5. 李洪强iOS开发Swift篇—08_函数(2)

    李洪强iOS开发Swift篇—08_函数(2) 一.函数类型 函数类型也是数据类型的一种,它由形参类型和返回值类型组成,格式是 (形参类型列表) -> 返回值类型 1 func sum(num1 ...

  6. 李洪强iOS开发Swift篇—07_函数

    李洪强iOS开发Swift篇—07_函数 一.函数的定义 (1)函数的定义格式 1 func 函数名(形参列表) -> 返回值类型 { 2 // 函数体... 3 4 } (2)形参列表的格式 ...

  7. 李洪强iOS开发Swift篇—06_流程控制

    李洪强iOS开发Swift篇—06_流程控制 一.swift中的流程控制 Swift支持的流程结构如下: 循环结构:for.for-in.while.do-while 选择结构:if.switch 注 ...

  8. 李洪强iOS开发Swift篇—05_元组类型

    李洪强iOS开发Swift篇—05_元组类型 一.元组类型介绍 1.什么是元组类型 元组类型由 N个 任意类型的数据组成(N >= 0),组成元组类型的数据可以称为“元素” 示例: let po ...

  9. 李洪强iOS开发Swift篇—04_运算符

    李洪强iOS开发Swift篇—04_运算符 一.运算符 1.Swift所支持的部分运算符有以下一些 赋值运算符:= 复合赋值运算符:+=.-= 算术运算符:+.-.*./ 求余运算符:% 自增.自减运 ...

随机推荐

  1. oracle根据pid查询出正在执行的执行语句

    今天数据库访问突然很慢,通过top命令发现oracle的cpu使用率很高.同事建议查询一下看看是什么语句导致的oracle运行变慢.于是从网上查了一下,可以根据pid查询出正在执行的查询语句,发现是一 ...

  2. JS实现冒泡排序,插入排序和快速排序(从input中获取内容)

    以前参加面试的时候,被问到过让用JS实现一个快速排序,当时太年轻,并没有回答上来. 于是,这里便把三种排序都用JS来做了一下.结合html,从input文本框中获取输入进行排序. 关于这几种算法的原理 ...

  3. display:none和visibility:hidden的区别[]

    display:none和visibility:hidden都是把网页上某个元素隐藏起来的功能,但两者有所区别,我发现使用 visibility:hidden属性会使对象不可见,但该对象在网页所占的空 ...

  4. ng1中 如何用双向绑定 实现单向绑定的初始时不显示双括号效果?

    ng1中 如何用双向绑定 实现单向绑定(ng-bind就可以不显示{{}})的初始时不显示双括号效果? AngularJS 实例 页面加载时防止应用闪烁: <div ng-app="& ...

  5. Hazelcast

    Hazelcast是一个高度可扩展的数据分发和集群平台.特性包括: 提供java.util.{Queue, Set, List, Map}分布式实现. 提供java.util.concurrency. ...

  6. 16Aspx.com源码2013年10月到2013年12月详细

    创建时间FROM: 创建时间TO:   ExtJS合同管理信息系统源码 2013-12-13   [VS2008] 源码介绍: ExtJS合同管理信息系统源码浏览器兼容:IE,Firefox,谷歌等主 ...

  7. JavaScript高级程序设计(二):在HTML中使用JavaScript

    一.使用<script>元素 1.<script>元素定义了6个属性: async:可选.表示应该立即下载脚本,但不应该妨碍页面中的其他操作,比如下载其他资源或等待加载其他脚本 ...

  8. ios UIWebView截获html并修改便签内容

    需求:混合应用UIWebView打开html后,UIWebView有左右滚动条,要去掉左右滚动效果: 方法:通过js截获UIWebView中的html,然后修改html标签内容: 实例代码: 服务器端 ...

  9. LM2596扩流

  10. Installshield: custom action return value

    参考:MSDN: Custom Action Return Values 参考:MSDN: Logging of Action Return Values