Swift语言出来也有一段时间了,一直没有时间去研究它,因为公司的项目用的基本还是objec-c,个人认为swift语言在这两年肯定会用的比OC多,所以趁这个假期好好研究下它。
一、首先通过一行代码对Swift一个初步的认识
println ("hel lo, w orld ")
如果你写过C或者Objective-C代码,那你应该很熟悉这种形式——在Swift中,这行代
码就是一个完整的程序。你不需要为了输入输出或者字符串处理导入一个单独的库。全局作
用域中的代码会被自动当做程序的入口点,所以你也不需要main函数。你同样不需要在每
个语句结尾写上分号。
注意:为了获得最好的体验,在Xcode当中使用代码预览功能。代码预览功能可以让
你编辑代码并实时看到运行结果。
使用方法如下:
一、常量和变量的定义
1.1、使用let来声明常量,使用var来声明变量。一个常量的值在编译时并不需要获取,但是你
只能为它赋值一次。也就是说你可以用常量来表示这样一个值:你只需要决定一次,但是需
要使用很多次
例如:
let myName = "zhangsan"
var changedNum = 43
changedNum = 54
1.2、常量或者变量的类型必须和你赋给它们的值一样。然而,声明时类型是可选的,声明的同时赋值的话,编译器会自动推断类型。如果初始值没有供足够的信息(或者没有初始值),那你需要在变量后面声明类型,用冒号分割。
例如:let score:Double = 70
1.3、值永远不会被隐式转换为其他类型。如果你需要把一个值转换成其他类型,请显式转换。
例如:
let firstName = "lisi"
let age = 87
let descirption = firstName + String(age)
有一种更简单的把值转换成字符串的方法:把值写到括号中,并且在括号之前写一个反斜杠。
例如:
let another = "lisi age is \(age)"
二、字典和数组
使用方括号[]来创建数组和字典,并使用下标或者键(key)来访问元素。
2.1、数组的创建
例如:var names = ["zhangsan","lisi","wangwu","shabi"]
创建一个空数组的方式:
var emptyArray = [String]()
2.2、字典的创建
var dictionary = ["name":"shabi","age":"23"]
dictionary["age"]
注意:前面的时key值,后面的是Value值
空字典的创建
let emptyDictionary = Dictionary
三、控制流
使用if和switch来进行条件操作,使用for-in、for、while和do-while来进行循环。包裹条
件和循环变量括号可以省略,但是语句体的大括号是必须的。
例如:
let teseData = [23,45,65,76,43]
var max = 0
for data in teseData {
if data>max {
max = data
}
}
max
上面代码的意思是遍历这个数组并找出其中最大的数,在if语句中,条件必须是一个布尔表达式——像if data { ... }这样的代码是错误的。
3.1、你可以一起使用if和let来处理值缺失的情况。有些变量的值是可选的。一个可选的值可能是一个具体的值或者是nil,表示值缺失。在类型后面加一个问号来标记这个变量的值是可选的。
例如:
var optionalString:String? = "test"
if let test = optionalString {
println("我ture")
}
else {
println("我不跑")
}
如果变量的可选值是nil,条件会判断为false,大括号中的代码会被跳过。如果不是nil,会
将值赋给let后面的常量,这样代码块中就可以使用这个值了。
3.2、switch支持任意类型的数据以及各种比较操作——不仅仅是整数以及测试相等
let myMoon = "我的心情还是不错的哦"
switch myMoon {
case "娘娘腔在陪她玩":
let result = "毕竟娘娘腔,根本不是我对手,注定孤独一生"
case "小气鬼在陪他玩":
let result = "毕竟小气鬼,饭都不请吃,注定孤独一生"
case "说好的四点钟滚蛋呢":
let result = "说话不算数,注定孤独一生"
case "我的心情还是不错的哦":
let result = "哈哈,等你回来一起愉快的滚床单,嘎嘎嘎。。。"
default:
let result = "我们一起愉快的玩耍"
}
很明显上面的结果大家都知道,不好意思我是一个纯洁的程序员。
3.2、如何用for in来遍历字典,需要两个变量来表示每个键值对。
let testDic = ["key1":[34,34,34,23,342,43],"key2":[23,33,321,31,434],"key3":[4545,54,454,54,5,6]]
var maxS = 0
for (kind,Arr) in testDic {
for num in Arr {
if num>maxS {
maxS = num
}
}
}
maxS
结尾
感觉Swift语言写起来要简洁很多,不需要写分号,有些小括号也可以省略,这也只是我对这个语言的一些初步见解,如有错误,望指正!下午就写到这里吧,程序员的女神跟别人看电影还没回来,内心焦躁学不进去了,打电话去了。