Swift初体验 (一)
// 声明一个常量
let maxNumberOfStudents: Int = 47 // 声明一个变量,假设没有在声明的时候初始化,须要显示的标注其类型
var currentNumberOfStudents = 23 // 使用前必须初始化
currentNumberOfStudents += 1 // 浮点数据自己主动推断为Double类型,假设须要指定了Float类型,须要显示的指定Float类型
let score: Float = 90.5; let englishScore = 80
let chineseScore = 90.5; // 不同类型的数据不能直接进行运算,须要自己手动转换为同样的格式,格式是:Type(Value)
let allScore = Double(englishScore) + chineseScore println("Int8 max value = \(Int8.max)") var name: String = “HMT" // 显示的声明一个字符类型
let sex: Character = “m" var names: Array<String> = ["hmt","wdq1"]
var namesT: String[] = ["hmt","wdq"]
//var nameQ: NSArray = ["aaa","bbb","ccc"]
namesT += "qqqqq”
// 数组即使是不可变的,依旧能够改变它的值
namesT[1] = “1111"
// 2个点半开半闭 3个点全闭
namesT[1..2] = ["buzhidao","heheheheh"];
println("\(namesT)”) for (index,value) in enumerate(namesT){ println("\(index) \(value)")
} var sexDic: Dictionary<String,String> = ["zhuwenpeng":"m","zhaoweisong":"m”]
// 假设字典中不存在这个键值对,则会加入;假设存在,就会替换改动
sexDic["chenfengchang"] = "m"
println(sexDic["chenfengchang"])
for (key,value) in sexDic{ println("key = \(key) value = \(value)")
println(sexDic["chenfengchang"])
}
// "_"代表忽略元祖中的某个位置
for (_,value) in sexDic{ println("value = \(value)")
} let firstSex = sexDic["chenfengchang”]
// 字符串推断用”=="
let isMale = firstSex == "m"
// 推断仅仅接受布尔值
if isMale{ }else{ } // 元组
let status:(Int, String) = (404,"Not Found")
println("statusCode = \(status.0) statusMessage = \(status.1)") let status1:(statusCode:Int,statusMessage:String) = (statusCode:404,statusMessage:"Not Found")
println("statusCode = \(status1.statusCode) statusMessage = \(status1.statusMessage)") let (statusCode,statusMessage) = (404,"Not Found")
println("statusCode = \(statusCode) statusMessage = \(statusMessage)") let countStr = "333"
// toInt()方法返回的是一个Int类型的可选变量,可能为空,加”?"修饰
let count: Int? = countStr.toInt() if count{
let realCount = count! // 强制解析
println("realCount = \(realCount)")
}else{ }
// 先推断count是否有值,假设有值则把值付给realCount,假设没有就进入else
if let realCount = count{
println("realCount = \(realCount)")
}else{ } let point = (x: 2,y: 2)
switch(point){
case (0,0):
println("")
case (let x,0):
println("")
case (0,let y):
println("")
case (let x,let y):
println("")
} switch(point){
case (let x,let y) where x == y:
println("point在 x=y 这条线上")
case (let x,let y) where x == -y:
println("")
case (let x,let y):
println("")
} let number = 122
switch(number){
case 0...9:
println()
case 10...99:
println()
case 100...999:
println()
fallthrough // 相当于C语言中的switch不加break效果
default:
println()
} let tempString = "iyoipolk"
tempName: for letter in tempString{
switch(letter){
case "a", "e", "i", "o", "u":
println("letter 是一个元音字母")
break tempName
default:
println("letter 是一个辅音字母")
}
}
Swift初体验 (一)的更多相关文章
- Swift初体验(两)
// 写功能初体验 func getMyName(firstName first:String, lastName last:String) -> String{ //return first ...
- swift初体验
swift是一门类型安全的语言,同样也是基于c语言 那么c语言的一些类型也是实用的,不同的是:swift声明变量和常量是不一样的 let:用来修饰常量:var用来修饰变量 e.g: let num=1 ...
- Swift初体验之图案锁
这篇在应用上貌似没有价值,貌似我写了好多实际上都没有价值,这里贴出来就是分享下. 自己写swift好多天了,感觉好多东西还是不太懂,边学边做,互勉! 先上图: 代码:下载
- Swift初体验之HelloWord+苹果Swift编程语言新手教程【中文版】
AppDelegate.swift : <span style="font-size:24px;"><strong>// // AppDelegate.sw ...
- Swift初体验(三)
/*******************************************************************************/ // 协议 protocol Des ...
- swift基本体验
Swift初体验 1. 导入框架 2. 定义标识符: let/var 3. 语句结束时;可以省略 4. print() 5. let/var 6. 逻辑分支 7. 循环使用 // 1.Swift中如何 ...
- Swift与C++混编 OpenCV初体验 图片打码~
OpenCV初体验,给图片打码 提到OpenCV,相信大多数人都听说过,应用领域非常广泛,使用C++开发,天生具有跨平台的优势,我们学习一次,就可以在各个平台使用,这个还是很具有诱惑力的.本文主要记录 ...
- Node.js 网页瘸腿爬虫初体验
延续上一篇,想把自己博客的文档标题利用Node.js的request全提取出来,于是有了下面的初哥爬虫,水平有限,这只爬虫目前还有点瘸腿,请看官你指正了. // 内置http模块,提供了http服务器 ...
- .NET平台开源项目速览(15)文档数据库RavenDB-介绍与初体验
不知不觉,“.NET平台开源项目速览“系列文章已经15篇了,每一篇都非常受欢迎,可能技术水平不高,但足够入门了.虽然工作很忙,但还是会抽空把自己知道的,已经平时遇到的好的开源项目分享出来.今天就给大家 ...
随机推荐
- cocos2dx进阶学习之CCTMXLayer
继承关系 CCTMXLayer -> CCSpriteBatchNode CCTMXLayer是在瓦片地图中,抽象一个层的类,它继承自CCSpriteBatchNode,也就是说它抽象了一批相同 ...
- cocos2d-x游戏开发系列教程-超级玛丽03-main函数
代码下载链接 http://download.csdn.net/detail/yincheng01/6864893 解压密码:c.itcast.cn main函数内容 #include "m ...
- mmc一维下料测试
另一组数据, 长度 = 6000; 切割长度 = {1664, 1599, 1552, 1409, 1352, 802, 660}; 需求数量 = {32, 96, 160, 16, 384, 112 ...
- hdu 1242 Rescue(bfs)
此刻再看优先队列,不像刚接触时的那般迷茫!这也许就是集训的成果吧! 加油!!!优先队列必须要搞定的! 这道题意很简单!自己定义优先级别! +++++++++++++++++++++++++++++++ ...
- js 易错点
如下代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w ...
- [转]CentO下限制SSH登录次数
应公司内部网站等级测评的需求,正逐渐加强系统安全防护. 设备默认 3 次验证失败自动退出,并且结束会话:网络登录连接超时自动退出时间 5 分钟: 第一种方法:已验证. 1.ssh超时时间设置 # cd ...
- 【 D3.js 入门系列 — 1 】 第一个程序 HelloWorld
记得以前刚上大一学 C 语言的时候,写的第一个程序就是在控制台上输出 HelloWorld .当时很纳闷,为什么要输出这个.老师解释说所有学编程入门的第一个程序都是在屏幕上输出 HelloWorld, ...
- Maven创建项目: Failed to execute goal org.apache.maven.plugin( mvn archetype:create)
一.概述: 在使用mvn 命令mvn archetype:create -DgroupId=com.chuanliu.c11 -DartifactId=c11searcher在控制创建maven项目和 ...
- C/C++ 内存布局详解(经典)(很久前不知哪儿转载的)
一个由C/C++编译的程序除了存放函数二进制代码的程序代码段(code段)外,数据占用的内存大致分为以下几个部分: 1.栈区(stack) 存放局部变量.函数参数.返回数据.返回地址等.系统自动分配释 ...
- 在C++中使用C#编写的类2
在那篇<在C#中使用C++编写的类>中我介绍了如何在C#中使用C++编写的类.可是由于C#在用户界面设计.数据库存储和XML文件读取等方面的优势,有时候也会出现要在C++中使用C#编写的类 ...