println(jserme.0) //返回183cm
元组还原为独立的变量或者常量
let jserme = ("183cm",26,"76kg")
let (身高, 年龄, 体重) = jserme
println("身高是 (身高)")
也可以给每个值命名(这就像在JS里把数组搞成了对象了。。。)
let jserme = (身高:"183cm",年龄:26,体重:"76kg")
println("身高是 (jserme.身高)")
字符串
字符串字面量只能用""来定义,String本质上是Character的有序集合。
for char in "一言既出"{
println(char)
}
/*
一
言
既
出
*/
字面量与判断是否为空
var 字符串 = "我是字符串"
var 空字符串 = ""
if 空字符串.isEmpty {
println("这是一个空的字符串")
}
if 空字符串 == "" {
println("这是一个空的字符串")
}
字符串实例有两个方法hasPrefix与hasSuffix,如:
var 成语数组 = [
"一言既出",
"一触即发",
"一呼百应",
"一槌定音",
"一无所有",
"一生一世",
"一见钟情"
]
var count = 0
for 成语 in 成语数组 {
if(成语.hasPrefix("一")){
count++
}
}
println(count) //输出7
与js一样,string也是传值引用,下面的两个变量的修改不会影响到彼此
var 一串 = "我是字符串一"
var 二串 = 一串
二串 = "我是字符串二"
println("字符串一:(一串), 字符串二:(二串)")
区间运算符
闭区间使用a...b,从a到b,包含a与b,半区间a..b,从a到b,不包含b,例如:
var 成语数组 = [
"一言既出",
"一触即发",
"一呼百应"
]
for i in 0..成语数组.count {
println("第(i)个成语是:(成语数组[i])")
}
//这里如何使用...会报错,因为成语数组[3]是没有值的
两种集合,array 和 dictionaries
相对于js对数组和对象成员松散的要求,swift要求数组和dictionaries里成员类型必须一致
var 购物清单: String[] = ["鸡蛋", "牛奶"]
//也可以是下面的这样
//var 购物清单 = ["鸡蛋", "牛奶"]








