// Playground - noun: a place where people can play

import Cocoa

var str = "Hello, playground"

// 定义常量

let schoolNum:String="罗子山中心小学"

// 定义变量

var age:Int=19

age=28

// 显示转换

var ageFolat:Float=Float(age)

// 数组、字典

var shoppingList=["catfish","water","blue paint"]

shoppingList[1]

var occupations=["1":"water","2":"apple"]

occupations["1"]

occupations["3"]="admin"

occupations["3"]

// 创建空的数组和字典

let emptyArray = [String ]()

let emptyDictionary=Dictionary<String,Float>()

// 循环

let indicdualScores=[75,43,103,89]

var teamScore=0

for score in indicdualScores{

if score>50{

println(score)

}else{

println(score+1)

}

}

// 可空

var optionalString:String?="Hello"

optionalString=nil

var strGreeting:String?="hello"

if let name=strGreeting{

println(name)

}

var ass:String=" 222321"

//switch

let vegetable="Red popper"

switch vegetable{

case "celery":

let vegetableComment="Add Somen"

case "Red","Bule":

let vegetableComment="Update Somen"

case let x where x.hasSuffix("popper") :

let vegetableComment="Delete from"

default :

let vegetableComment="Default"

}

// for in遍历 字典

/*

let interestingNumbers=["1":[1,2,3,4,5],"2":[9,8,7,6,5]]

var largest=0

for(kind,numbers) in interestingNumbers{

for number in numbers{

if number > largest

largest=number

}

}

*/

// while

var n=2

while n<100{

n=n*2

}

println(n)

// ..表示区间

/*

var firstForLoop = 0

for i in 0..3{

firstForLoop += i

}

println(firstForLoop)

*/

for var i=0;i<3; ++i{

println(i)

}

// 方法

func greet(name:String,day:String)->String{

return "hello\(name),Today is\(day)"

}

greet("tony", "1")

func getGasPrices()->(Double,Double,String){

return (3.123,123.2,"tony")

}

getGasPrices()

// 方法参数可以是动态的

func sunOf(numbers:Int...)->Int{

var sum=0

for number in numbers{

sum+=number

}

return sum

}

sunOf()

sunOf(12,32,32)

// 函数可以嵌套

func returnFifteen()->Int{

var y=10

func add(){

y+=5

}

add()

return y

}

returnFifteen()

var aa=123

// 函数可以作为另外一个函数返回值

/*

func makeIncrementer()->(Int->Int){

func addOne(number:Int)->Int{

return 1+number

}

return addOne

}

var increment=makeIncrementer()

increment(8)

*/

Swift 笔记1的更多相关文章

  1. [Swift] Swift笔记

    开始整理Swift笔记了.打算直接用Playground去写,里面自带的Markup语法和Markdown差不多,显示的效果也不差于博客.而且用Xcode看代码也方便.所以这部分内容不再在博客里记录了 ...

  2. 从0开始学Swift笔记整理(五)

    这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...

  3. 从0开始学Swift笔记整理(四)

    这是跟在上一篇博文后续内容: --重写方法 重写实例方法 在子类中重写从父类继承来的实例方法和静态方法.先介绍实例方法的重写. 下面看一个示例: class Person {        var n ...

  4. 从0开始学Swift笔记整理(三)

    这是跟在上一篇博文后续内容: --Swift中相关的属性 存储属性 Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性 ...

  5. 从0开始学Swift笔记整理(二)

    这是跟在上一篇博文后续内容: --函数中参数的传递引用 类是引用类型,其他的数据类型如整型.浮点型.布尔型.字符.字符串.元组.集合.枚举和结构体全部是值类型. 有的时候就是要将一个值类型参数以引用方 ...

  6. 从0开始学Swift笔记整理(一)

    Swift 是一种适用于 iOS 和 OS X 应用的全新编程语言,它建立在最好的 C 和 Objective-C 语言之上,并且没有 C 语言的兼容性限制.Swift 采用安全的编程模式,增加了现代 ...

  7. swift 笔记 (十八) —— 扩展

    扩展 扩展能够让我们给一个已有的类.结构体.枚举等类型加入�新功能,包含属性和方法,甚至是构造器,下标,支持协议等等... 甚至是我们拿不到源码的类.结构体.枚举,我们依旧能够给它加扩展... 看到这 ...

  8. swift 笔记 (十二) —— 下标

    下标 swift同意我们为 类.结构体,枚举 定义下标,以更便捷的方式訪问一大堆属性.比方Array和Dictionary都是结构体,swift的project师已经为这两个类型提供好了下标操作的代码 ...

  9. swift 笔记 (十九) —— 协议

    协议(Protocols) 协议仅是用定义某些任务或者是功能必须的方法和属性. 类似于java里的interface的作用.但协议并不会实现详细的功能. 我猜这个名字源于OO中提到的"契约& ...

  10. swift 笔记 (七) —— 关闭

    关闭 封闭件是从包括以下各项的组.它可以在代码被发送"片"... 行,不纠结的定义.继续. swift的闭包,有点像C和Objective-C语言里的 代码块 {--}  闭包能够 ...

随机推荐

  1. PHY Linux 驱动

    以太网 MAC(链路层)+PHY(物理层/RTL8201F,88E1111);集成型DM9000,RTL8139CP 由于网络数据传输量较大,不论是分开型还是集成型,通常会在MAC和PHY之间引入DM ...

  2. mysql开启GTID跳过错误的方法【转】

    1.数据库版本 MySQL> select version()    -> ;+-------------------------------------------+| version( ...

  3. 在shell中如何判断字符串是否为有效的IP地址【转】

    转自 在shell中如何判断字符串是否为有效的IP地址_echoisecho_新浪博客http://blog.sina.com.cn/s/blog_53a844e50100xxus.html 近来需要 ...

  4. git-定制属于你的log格式

    软件版本:    操作系统:ubuntu10.04     内核版本:Linux version 2.6.32-36-generic     git 版本:git version 1.7.0.4 1. ...

  5. [转载]FFmpeg完美入门[1] - FFmpeg介绍及安装

    1 FFmpeg简介 FFmpeg是一个开源免费跨平台的视频和音频流方案,属于自由软件,采用LGPL或GPL许可证(依据你选择的组件).它提供了录制.转换以及流化音视 频的完整解决方案.它包含了非常先 ...

  6. 用OpenSSL命令行生成证书文件

    用OpenSSL命令行生成证书文件 1.首先要生成服务器端的私钥(key文件): openssl genrsa -des3 -out server.key 1024 运行时会提示输入密码,此密码用于加 ...

  7. loadrunner 三种post函数区别

    web_custom_request方法可以发送POST和GET类型的请求 web_submit_data只能发送POST类型的请求,提供了所有的数据,不管Cache存在不存在Web_submit_d ...

  8. 用memcached实现的php锁机制

    <?php /** * 使用Memcache实现给进程加锁的类 * * Copyright (C) 2013 JeffJing * * 一些时候需要让系统的某些操作串行化,这个时候就要对这些操作 ...

  9. ref:浅谈XXE漏洞攻击与防御

    ref:https://thief.one/2017/06/20/1/ 浅谈XXE漏洞攻击与防御 发表于 2017-06-20   |   分类于 web安全  |   热度 3189 ℃ 你会挽着我 ...

  10. 洛谷P1503 鬼子进村 [平衡树,STL]

    题目传送门 鬼子进村 题目背景 小卡正在新家的客厅中看电视.电视里正在播放放了千八百次依旧重播的<亮剑>,剧中李云龙带领的独立团在一个县城遇到了一个鬼子小队,于是独立团与鬼子展开游击战. ...