//: 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. 【转】qtp-learn

    1.计算器的例子(手动添加,将结果写到日志文件中) SystemUtil.Run "C:\WINDOWS\system32\calc.exe",""," ...

  2. 基于.NET平台的分层架构实战(六)——依赖注入机制及IoC的设计与实现[转]

    原文:http://www.cnblogs.com/leoo2sk/archive/2008/06/19/1225223.html 我们设计的分层架构,层与层之间应该是松散耦合的.因为是单向单一调用, ...

  3. MFC DialogBar 按钮灰色不响应

    在MFC单文档加添加DialogBar,然后在DialogBar上添加按钮,会出现如下情况,单击无响应. 解决方案: 在 CSideDialogBar头文件和CPP文件里添加如下函数 afx_msg ...

  4. JavaScript高级程序设计43.pdf

    事件类型 Web浏览器中有很多事件类型,“DOM3级事件”规定了以下几类事件 UI事件(用户界面),当用户与页面上的元素交互时触发: 焦点事件,当元素获得或失去焦点时触发 鼠标事件,当用户通过鼠标在页 ...

  5. poj 2503 字符串hash

    题目链接:http://poj.org/problem?id=2503 代码: #include<cstdio> #include<cstring> #include<i ...

  6. python Day 1 - 搭建开发环境

    搭建开发环境 首先,确认系统安装的Python版本是2.7.x: $ python --version Python 2.7.5 然后,安装开发Web App需要的第三方库: 前端模板引擎jinja2 ...

  7. android4.0 FaceDetection笔记

    这几天研究了下andoid4.0.3的FaceDetection这里写一下大致的流程,方便日后查阅. 相关说明可以在这里找到: frameworks/base/docs/html/guide/topi ...

  8. Linux Foundation Secure Boot System Released

    As promised, here is the Linux Foundation UEFI secure boot system.  This was actually released to us ...

  9. Oracle的OFA架构

    最优灵活体系结构(Optimal Flexible Architecture,简称OFA) OFA其实就是一种Oracle的一种规范,其意义就是用一种统一的给文件和文件夹的规则,和文件存放目录的规则做 ...

  10. Scanner类的.next()和.hashNext()方法

    使用Scanner类可以很方便地便获取用户的键盘输入,Scanner是一个基于正则表达式的文本扫描器,它可以从文件.输入流 .字符串中解析出基本类型值和字符串值.Scanner类提供了多个构造器,不同 ...