//: 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)的更多相关文章

  1. Linux基础知识入门

    [Linux基础]Linux基础知识入门及常见命令.   前言:最近刚安装了Linux系统, 所以学了一些最基本的操作, 在这里把自己总结的笔记记录在这里. 1,V8:192.168.40.10V1: ...

  2. Hibernate入门1. Hibernate基础知识入门

    Hibernate入门1. Hibernate基础知识入门 20131127 前言: 之前学习过Spring框架的知识,但是不要以为自己就可以说掌握了Spring框架了.这样一个庞大的Spring架构 ...

  3. Oracle 基础知识入门

    前记: 近来项目用到Oracle数据库,大学学了点,后面基本忘记得差不多了,虽然基本语法跟sql 差不多,但是oracle知识是非常多的. 这里简单说点基础知识,希望后面补上更多的关于ORacle知识 ...

  4. SpringMVC(一) 基础知识+入门案例

    SpringMVC基础知识 1.什么是Springmvc 2.springmvc 框架的原理(必须掌握) 前端控制器.处理器映射器.处理器适配器.视图解析器 3.SpringMVC 入门程序 目的:对 ...

  5. java学习基础知识入门

    基础入门知识(一) 一.java技术的分类 java按照技术标准和应用场景的不同分为三类,分别是JAVASE.JAVAEE.JAVAME JAVASE : 平台标准版,用于开发部署桌面,服务器以及嵌入 ...

  6. DOM0,DOM2,DOM3事件,事件基础知识入门

    事件是javascript和HTML交互基础, 任何文档或者浏览器窗口发生的交互, 都要通过绑定事件进行交互; 事件有DOM0, DOM2和DOM3的区分(别问我怎么少了一个DOM1, 也没找到DOM ...

  7. 3.Swift翻译教程系列——Swift基础知识

    英语PDF下载链接http://download.csdn.net/detail/tsingheng/7480427 Swift是用来开发iOS和OS X应用的新语言,可是很多地方用起来跟C或者OC是 ...

  8. ThinkPHP5 基础知识入门 [入门必先了解]

    一.目录结构 下载最新版框架后,解压缩到web目录下面,可以看到初始的目录结构如下: project 应用部署目录 ├─application 应用目录(可设置) │ ├─common 公共模块目录( ...

  9. java基础知识入门

    一.java简介及原理图 Java的前世今生 Java之父詹姆斯·高斯林: 1967年, 12岁用报废的电话机和电视做了一台电子游戏机; 1983年, 获得卡内基梅隆大学计算机科学博士学位; 1983 ...

随机推荐

  1. 理解C++11正则表达式(2)

    今天有幸(2016/3/19)在上海参加了C++交流会,见到了梦寐已久想见的台湾C++大神老师侯捷,心情十分的激动.侯老师对C++理解的深刻,让人叹为观止.以为他教学的严谨,说话方式娓娓道来,听着非常 ...

  2. bzoj 1513 [POI2006]Tet-Tetris 3D(二维线段树)

    1513: [POI2006]Tet-Tetris 3D Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 540  Solved: 175[Submit ...

  3. Branch management

    Branch management */--> pre { background-color: #2f4f4f;line-height: 1.6; FONT: 10.5pt Consola,&q ...

  4. usaco 猜数游戏

    Description 为了提高智商,锻炼思维能力,奶牛设计了一个猜数游戏.游戏开始前,贝西会在牛棚后面摆上N个数字.所有数字排成一条直线,按次序从1到N编号.每个数字在1到10^9之间,没有两个数字 ...

  5. UIWebview 禁止某个方向滚动

    Enable Horizontal scrolling and disable Vertical scrolling: myWebView.scrollView.delegate = self; [m ...

  6. Android开发艺术探索(三)——View的事件体系

    一.View基础知识 主要介绍内容有:View的位置参数.MotionEvent和TouchSlope对象.VelocityTracker.GestureDetector和Scroller对象 1.什 ...

  7. Quartz定时任务学习(七)Cron 触发器

    Cron表达式 Quartz使用类似于Linux下的Cron表达式定义时间规则,Cron表达式由6或7个由空格分隔的时间字段组成,如表1所示: 位置 时间域名 允许值 允许的特殊字符 1 秒 0-59 ...

  8. (转)Zend Studio 10.6.1破解注册图文详解

    原文来自:http://www.softown.cn/soft/zend-studio/windows/10.6.1#downloads 下面我们以Zend Studio 10.6.1正式版为例来介绍 ...

  9. HTML5的渐变色 渐变的两种类型 createLinearGradient 和createRadialGradient

    今天又再看了html5的颜色渐变API,发现没有第一次看那么复杂. 不过我对这个颜色渐变存在着一个疑惑就是两种色带之间,那段是属于两种颜色混合的,有点模糊. 比如从红色变成黄色,在红与黄之间的那个地方 ...

  10. Android源代码之Gallery专题研究(1)

    前言 时光飞逝,从事Android系统开发已经两年了,总想写点什么来安慰自己.思考了非常久总是无法下笔,认为没什么好写的.如今最终决定写一些符合大多数人需求的东西,想必使用过Android手机的人们一 ...