Swift 笔记1
// 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的更多相关文章
- [Swift] Swift笔记
开始整理Swift笔记了.打算直接用Playground去写,里面自带的Markup语法和Markdown差不多,显示的效果也不差于博客.而且用Xcode看代码也方便.所以这部分内容不再在博客里记录了 ...
- 从0开始学Swift笔记整理(五)
这是跟在上一篇博文后续内容: --Core Foundation框架 Core Foundation框架是苹果公司提供一套概念来源于Foundation框架,编程接口面向C语言风格的API.虽然在Sw ...
- 从0开始学Swift笔记整理(四)
这是跟在上一篇博文后续内容: --重写方法 重写实例方法 在子类中重写从父类继承来的实例方法和静态方法.先介绍实例方法的重写. 下面看一个示例: class Person { var n ...
- 从0开始学Swift笔记整理(三)
这是跟在上一篇博文后续内容: --Swift中相关的属性 存储属性 Swift中的属性分为存储属性和计算属性,存储属性就是Objective-C中的数据成员,计算属性不存储数据,但可以通过计算其他属性 ...
- 从0开始学Swift笔记整理(二)
这是跟在上一篇博文后续内容: --函数中参数的传递引用 类是引用类型,其他的数据类型如整型.浮点型.布尔型.字符.字符串.元组.集合.枚举和结构体全部是值类型. 有的时候就是要将一个值类型参数以引用方 ...
- 从0开始学Swift笔记整理(一)
Swift 是一种适用于 iOS 和 OS X 应用的全新编程语言,它建立在最好的 C 和 Objective-C 语言之上,并且没有 C 语言的兼容性限制.Swift 采用安全的编程模式,增加了现代 ...
- swift 笔记 (十八) —— 扩展
扩展 扩展能够让我们给一个已有的类.结构体.枚举等类型加入�新功能,包含属性和方法,甚至是构造器,下标,支持协议等等... 甚至是我们拿不到源码的类.结构体.枚举,我们依旧能够给它加扩展... 看到这 ...
- swift 笔记 (十二) —— 下标
下标 swift同意我们为 类.结构体,枚举 定义下标,以更便捷的方式訪问一大堆属性.比方Array和Dictionary都是结构体,swift的project师已经为这两个类型提供好了下标操作的代码 ...
- swift 笔记 (十九) ——
协议
协议(Protocols) 协议仅是用定义某些任务或者是功能必须的方法和属性. 类似于java里的interface的作用.但协议并不会实现详细的功能. 我猜这个名字源于OO中提到的"契约& ...
- swift 笔记 (七) —— 关闭
关闭 封闭件是从包括以下各项的组.它可以在代码被发送"片"... 行,不纠结的定义.继续. swift的闭包,有点像C和Objective-C语言里的 代码块 {--} 闭包能够 ...
随机推荐
- .NET Framework 4安装失败
#刚装系统遇到之前所遇到的问题.之前因为这个事情还被困扰了好一阵子.特此写出来分享给大家. 环境:WIN10 企业版 在使用一些需要较高.net版本的时候无法更新.你可以试一下.在服务里面开启再更新. ...
- python设计模式之迭代器与生成器详解(五)
前言 迭代器是设计模式中的一种行为模式,它提供一种方法顺序访问一个聚合对象中各个元素, 而又不需暴露该对象的内部表示.python提倡使用生成器,生成器也是迭代器的一种. 系列文章 python设计模 ...
- 自定义ISO结构
流程: 1.OS安装 1.1 网卡配置 1.2 密码 1.3 语言 1.4 时区 1.5 分区 1.6 rpms ... 2.软件安装 2.1 BIC Server 2.2 APP Server 2. ...
- NTP算法
网络时间协议 由特拉华大学的David L. Mills热心提供.http://www.eecis.udel.edu/~mills mills@udel.edu 由Reinhard v. Hanxle ...
- CGIC简明教程(转摘)
CGIC简明教程 本系列的目的是演示如何使用C语言的CGI库“CGIC”完成Web开发的各种要求. ********************************* 基础知识 1 ...
- Effective C++笔记(六):继承与面向对象设计
参考:http://www.cnblogs.com/ronny/p/3756494.html 条款32:确定你的public继承塑模出is-a关系 “public继承”意味着is-a.适用于base ...
- java经典面试题大全
基本概念 操作系统中 heap 和 stack 的区别 什么是基于注解的切面实现 什么是 对象/关系 映射集成模块 什么是 Java 的反射机制 什么是 ACID BS与CS的联系与区别 Cookie ...
- centos7 lvs+keepalived nat模式
1.架构图 3.地址规划 主机名 内网ip 外网ip lvs-master 192.168.137.111(仅主机)eth1 172.16.76.111(桥接)eth0 lvs-slave 192 ...
- XSS与CSRF两种跨站攻击总结
在那个年代,大家一般用拼接字符串的方式来构造动态 SQL 语句创建应用,于是 SQL 注入成了很流行的攻击方式.在这个年代, 参数化查询 [1] 已经成了普遍用法,我们已经离 SQL 注入很远了.但是 ...
- 尝试 TFS Express 2012.3
之前一直使用SVN做版本管理,但是只能管理代码.之前的一份工作,只用了TFS来管理,可以将任务与代码集成管理,很是方便,只是安装太过于繁琐,现在的公司人少,不想费那么多事. 最关键的,就是安装TFS需 ...