swift初识
介绍:
Swift是苹果2014年推出的全新编程语言,它继承了C语言、ObjC的特性,且克服了C语言的兼容性问题。Swift发展过程不仅保留了Objc很多语言特性,他也借鉴了多种现代化语言的特点,在其中可以看到C#、Java、JavaScript、Python等多种语言的影子。同时在2015年WWDC上苹果还宣布了Swift的新版本Swift2.0,Swift是开源的,还支持iOS、OS X、Linux。
Swift2.0官方中文版+100个必备tips:http://download.csdn.net/detail/shaoting19910730/9189677
基础部分:
第一个Swift程序:
import Foundation /**
* Swift没有main函数,默认从top level code的上方开始自上而下执行(因此不能有多个top level代码)
*/
println("Hello, World!")
从上面得代码可以看出:
1、Swift没有main函数,从top level code的上方开始往下执行 ,即第一个非声明语句开始执行(表达式、控制结构、类、结构体、枚举、方法等属于声明语句),不能存在多个top level code文件,否则编译器不能确定执行入口,事实上swift隐含了一个main函数,这个main函数会设置并且调用全局“C_ARGC C_ARGV”并调用由top level code构成的top_level_code()函数。
2、Swift通过import引入其他类库。
3、Swift语句不需要双引号结尾,除非一行之中有多个语句。
数据类型
Swift包含了C和Objc语句中的所有基础类型:Int整形、Float和Double浮点型、Bool布尔型、Character字符型、String字符串类型、enum枚举、struct结构体构造类型、Array数组、Set集合、Dictionary字典集合类型,不仅如此还增加了高阶数据类型:元组(Tuple),可选类型(Optinal)。
基础类型
Xcode从6.0开始加入了Playground代码测试,可以实时查看代码执行结果,下面使用Playground简单演示一下Swift的基础内容,对Swift有个简单的认识:
import Foundation var a:Int= //通过var定义一个变量 //下面变量b虽然没有声明类型,但是会自动进行类型推断,这里b推断为Int类型
var b= var c:UInt=
let d=a+b //通过let定义一个常量 //下面通过"\()"实现了字符串和变量相加(字符串插值),等价于println("d="+String(d))
println("d=\(d)") //结果:d=3 //注意由于Swift是强类型语言,a是Int类型而c是UInt类型,二者不能运算,下面的语句报错;但是注意如果是类似于:let a=1+2.0是不会报错的,因为两个都是字面量,Swift会首先计算出结果再推断a的类型
//let e=a+c //Int.max是Int类型的最大值,类似还有Int.min、Int32.max、Int32.min等
let e=Int.max //结果:9223372036854775807 var f:Float=1.0
var g=2.0 //浮点型自动推断为Double类型 var h:String="hello " //emoj表情也可以作为变量或者常量,事实上所有Unicode字符都是可以的
varswift初识的更多相关文章
- Swift_初识Swift
初识Swift语言 Swift结合了C和OC的优点并且不受C兼容性的限制.Swift采用安全的编程模式并添加了很多新特性,这将是编程更简单,更灵活也更有趣,Swift是基于成熟而且倍受喜爱的Cocoa ...
- 初识你---------Swift【下篇】
Swift中的结构体 Swift的结构体对比OC来说,可以添加初始化方法.可以遵守代理协议等,同时:Swift的Bool类型的变量也是一个结构体,所以只能选择true和false. Swift中声明结 ...
- 初识 swift 封装轮播图
一.简介 换了一家公司.换了一个环境刚开始来公司自然不能有一丝一毫的放松,每天即使是没有什么工作也是看看这个博客.那个源码.尽量让自己更充实.慢慢的开始写几篇博客记录下自己遇到的一些问题和解决方法.其 ...
- 初识Swift中的值和引用,循坏引用、代理的注意点
1.0 在Swift中分有值类型和引用类型 Int .String . 结构体和枚举都属于值类型, 将值类型传递给方法是,将在内存中创建其副本,并传递这个副本:这样我们就可以随心所欲修改它,而不用担心 ...
- 初识 Swift编程语言(中文版)
前言 今天Apple公布了新的编程语言Swift.也提供了一本将近400页的 The Swift Programming Language(Swift编程语言). 尽管我没有开发人员账号.没法实际上机 ...
- Swift从入门到精通第八篇 - 方法 初识
方法(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 方法 结构体.枚举.类都可以定义方法(实例方法.类型方法) 实例方法(Instance Methods) 实例方法只能用实例 ...
- Swift从入门到精通第十一篇 - 初始化 初识
初始化(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 初始化 初始化是类.结构体.枚举生成实例的过程,为该类的每个存储属性设置初始值,有些在实例使用前的设置或初始化也可在此实现 ...
- Swift从入门到精通第十四篇 - 错误处理 初识
错误处理(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 错误表现和抛出 在 swift 中,错误由符合 Error 协议的类型值表示 // 示例 enum VendingMac ...
- Swift从入门到精通第十五篇 - 类型转换 初识
类型转换(学习笔记) 环境Xcode 11.0 beta4 swift 5.1 类型转换 类型转换是检查实例类型的一种方法,或者检查来自类层级不同的父类或子类一个实例,用 is 和 as 操作符 为类 ...
随机推荐
- 20145236 《Java程序设计》实验五实验报告
20145236 实验五 Java网络编程 实验内容 1.运行TCP代码,结对进行,一人服务器,一人客户端: 2.利用加解密代码包,编译运行代码,一人加密,一人解密: 3.集成代码,一人加密后通过TC ...
- 在jsp页面中实现格式化数字,百分比,货币
当时的要求是在jsp页面中计算百分比 实现方法 1.引入Jstl的fmt指令 <%@ taglib uri="http://java.sun.com/jsp/jstl/fmt" ...
- OUT函数及其熟练使用,split的用法
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 委托传参,lambda
今天一朋友问到一问题,怎么在timer的委托里面传参数,我初一想Invoke 可以传参数吧,我就说了. 后来他说这个委托是微软定义,不能变参数,于是我就自己写了一段代码试 试. 我最初写的代码如下 p ...
- 支持新版chrome,用webstorm编译形成css和sourcemap,调试sass和less源文件(转)
旧版的chrome有个support for sass,但是新版chrome没有这个功能了.看到网上提供的方法比较多,也很乱,旧版新版的都有.而且不能指定自己所需要的路径. 所以就做了下改版. sas ...
- Entity Framework - 理清关系 - 基于外键关联的单向一对一关系
注:本文针对的是 Entity Framework Code First 场景. 之前写过三篇文章试图理清Entity Framework中的一对一关系(单相思(单向一对一), 两情相悦(双向一对 ...
- Oracle select case when
Case具有两种格式.简单Case函数和Case搜索函数. --简单Case函数 CASE sex WHEN '1' THEN '男' WHEN '2' THEN '女' ELSE '其他' END ...
- 互斥锁pthread_mutex_t的使用(转载)
1. 互斥锁创建 有两种方法创建互斥锁,静态方式和动态方式.POSIX定义了一个宏PTHREAD_MUTEX_INITIALIZER来静态初始化互斥锁,方法如下: pthread_mut ...
- WP8.1 Study5:Data binding数据绑定
一.数据绑定 最简单的编程UI控件的方法是写自己的数据来获取和设置控件的属性,e.g. , textBox1.Text = "Hello, world"; 但在复杂的应用程序,这样 ...
- <转>2015-7-14面试题
由于一些原因,最近打算换一份工作,主要目标是大型的互联网公司.在经历了上周三天小公司试水后,昨天终于开始正式的面试之旅了(其实接到面试通知的就几家公司