Swift基础知识入门(基于Swift2.0)
//: Playground - noun: a place where people can play
import UIKit
// Swift中不需要设置main函数入口,编译器会在全局函数中自动设置程序的入口,在书写Swift代码时,可以不使用";"作为语句的结束标志
var str = "Hello, playground"
var str1 = "Hello, LiLe"
print("Hello World!") // Swift2.0使用的输出语句(在Swift1.2版本中也可以使用)
// println("Hello World!") // Swift1.2及以前的版本使用的输出语句
// 在Swift中,我们不需要给定常量和变量的数据类型,编译器会根据后面的赋值自动推测其数据类型,在某些情况下我们需要给定常量或变量的数据类型,这个时候我们只需要在常量/变量名称后边添加":"
// -----------常量-----------
// 使用let关键字进行定义
// 定义形式1:let 常量名 = 常量值
let a = 10
// 定义形式2:let 常量名 : 数据类型 = 常量值
let b : Int8 = 11
// ------------变量-------------
// 使用var关键字进行定义
// 定义形式:var 变量名 = 变量值
var c = 12
// 定义形式:var 变量名 : 数据类型 = 变量值
var d : Float = 13
// Swift常量/变量命名规范更开放,几乎支持所有Unicode编码,我们甚至可以使用中文进行命名
var 哈哈 = "呵呵"
print(哈哈)
// 运算 在Swift中不支持隐式转换数据类型,必须显示转换
var sum = Float(c) + d
print("呵呵 is " + "\(c)")
print("呵呵 is \(c)")
// ------------元组-------------
var person = (name : "张三", age : 99, sex : "男")
person.0
person.1
person.2
person.name = "李四"
person.age
person.sex
// ------------数组-------------
// Swift中的数组要求每个元素的数据类型必须是统一的,如果数据类型不统一,将会自动转换成OC中的数组
// let定义的是不可变数组,var定义的是可变数组
// 定义形式 : let/var 数组名称 : [数组元素类型] = 数组的值 ps : "[数组元素类型]"可省略不写
// 定义一个空数组
var emptyArray : [String] = [String]()
var 黑名单 = ["张三", "白昊"]
黑名单.append("李四")
黑名单.insert("葛德福", atIndex: 2)
黑名单.insert("金鑫亮", atIndex: 2)
黑名单.removeAtIndex(2)
// 取某个范围
// 0...2 代表0到2的闭区间
黑名单[0...2]
// 0..<2 代表0到2的左闭右开区间
黑名单[0..<2]
// ------------字典-------------
// 在Swift中要求字典中的key必须是统一类型,value必须是统一类型,key和value可以是不同一类型,如果存放不同类型,会自动转化成OC中的字典
// 创建一个空字典
// 形式1:(推荐)
var emptyDic1 = [String : Int]()
// 形式2:
var emptyDic2 = Dictionary<String, Int>()
var personDic = ["age" : 11, "num" : 99]
// 取值:可以通过key直接获取,写法和OC中字面量的写法类似
personDic["age"]
// 更改:直接取出对应的value进行更改值的操作
personDic["age"] = 22;
// 添加:如果key不存在,会直接向字典中追加该键值对
personDic["number"] = 10
// 删除:通过key值删除对应的键值对
personDic.removeValueForKey("age")
personDic
// ------------if语句-------------
// if的判断条件要求必须是布尔表达式,也就是说以前我们熟悉的if(变量)的写法,在Swift中不再隐式转化为布尔值,另外,if的判断条件可以不写括号
if 0 == a {
print(a)
} else if 1 == a {
print(a)
} else {
print(a)
}
// ------------循环-------------
var count = 10
while count > 5 {
count--
}
// repeat-while (ps : 相当于do-while)
repeat {
count--;
} while count > 0
/*
// Swift 1.2写法
do {
count--;
} while count > 0
*/
// for循环
for var i = 0; i < 10; i++ {
print(i)
}
var
Swift基础知识入门(基于Swift2.0)的更多相关文章
- Linux基础知识入门
[Linux基础]Linux基础知识入门及常见命令. 前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...
- Hibernate入门1. Hibernate基础知识入门
Hibernate入门1. Hibernate基础知识入门 20131127 前言: 之前学习过Spring框架的知识,但是不要以为自己就可以说掌握了Spring框架了.这样一个庞大的Spring架构 ...
- Oracle 基础知识入门
前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...
- SpringMVC(一) 基础知识+入门案例
SpringMVC基础知识 1.什么是Springmvc 2.springmvc 框架的原理(必须掌握) 前端控制器.处理器映射器.处理器适配器.视图解析器 3.SpringMVC 入门程序 目的:对 ...
- java学习基础知识入门
基础入门知识(一) 一.java技术的分类 java按照技术标准和应用场景的不同分为三类,分别是JAVASE.JAVAEE.JAVAME JAVASE : 平台标准版,用于开发部署桌面,服务器以及嵌入 ...
- DOM0,DOM2,DOM3事件,事件基础知识入门
事件是javascript和HTML交互基础, 任何文档或者浏览器窗口发生的交互, 都要通过绑定事件进行交互; 事件有DOM0, DOM2和DOM3的区分(别问我怎么少了一个DOM1, 也没找到DOM ...
- 3.Swift翻译教程系列——Swift基础知识
英语PDF下载链接http://download.csdn.net/detail/tsingheng/7480427 Swift是用来开发iOS和OS X应用的新语言,可是很多地方用起来跟C或者OC是 ...
- ThinkPHP5 基础知识入门 [入门必先了解]
一.目录结构 下载最新版框架后,解压缩到web目录下面,可以看到初始的目录结构如下: project 应用部署目录 ├─application 应用目录(可设置) │ ├─common 公共模块目录( ...
- java基础知识入门
一.java简介及原理图 Java的前世今生 Java之父詹姆斯·高斯林: 1967年, 12岁用报废的电话机和电视做了一台电子游戏机; 1983年, 获得卡内基梅隆大学计算机科学博士学位; 1983 ...
随机推荐
- 【性能测试】【Jmeter】学习(3)——查看测试结果
监听器——聚合报告 聚合报告添加步骤:(右键点击每一个操作步骤--->“添 加”---->“监听器”---->“聚合报告”) Label:每个 JMeter 的 element(例如 ...
- ORACLE与.NET类型对应关系(转)
ORACLE与.NET类型对应关系 想来这个是最重要的事情了,因为多数情况下,我们使用dbhelper来调用数据库的时候,是因为如下三个地方导致错误: 1.错误的sql语句:末尾多了分号,少了部分关键 ...
- PCB覆铜时的安全距离
覆铜的安全间距(clearance)一般是布线的安全间距的二倍.但是在没有覆铜之前,为布线而设置好了布线的安全间距,那么在随后的覆铜过程中,覆铜的安全间距也会默认是布线的安全距离.这样与预期的结果不一 ...
- Interviews3D: APlatform for Interactive Handing of Massive Data Sets 读后感
横向比较: Inadequacy of current system design( 现代系统和一些软件的不足) 软件特点: Output sensitivity Out-of core data h ...
- linux vi快捷键大全
h或^h 向左移一个字符 j或^j或^n 向下移一行 k或^p 向上移一行 l或空格 向右移一个字符 G 移到文件的最后一行 nG 移到文件的第n行 w 移到下一个字的开头 W 移到下一个字的开头,忽 ...
- RGB Bayer Color分析
RGB Bayer Color分析 Bayer色彩滤波阵列 拜耳色彩滤波阵列(Bayer Color Filter Array,CFA)是非常有名的彩色图片的数字采集格式.色彩滤波器的模式如上图所示, ...
- XSLT教程 比较全的 -摘自网络
XSLT教程 XML文档树 1) XML可以转化文档树 2) XSLT对XML的转化过程 内建模板规则 根 调用<xsl:apply-templates>处理根节点的儿子.处理时,使用调用 ...
- flashback drop(2015-2-3学习日记)
知识面是由知识点组成的,你在研究某一个知识点的时候常常会遇到另一个知识点,然后你去研究那个知识点,又会带出更多的知识点,最终组成了知识面. 今天在看书的时候看到一个删除表的语句: DROP TABLE ...
- Clojure学习资料
以下大部分收藏自博客:http://blog.csdn.net/ithomer/article/details/17225813 官方文档: http://clojure.org/documentat ...
- [Javascript] delete keyword
delete keyword doesn't actually delete the value but just the reference. var me = { name: { first: & ...