var 赞 = 0
let 先加一个赞 = ++赞
赞 //1
先加一个赞 //1
let 后加一个赞 = 赞++
后加一个赞 //1
赞 //2
let 三 = 3
let 负三 = -三
let 正三 = -负三
let 取正 = +负三 //-3
组合赋值:
var a = 1
var b = 0
b = a++
// b = a+= 3 或者b = (a += 3)都是错误的语法
a += 3
//开区间 一般用在数组的循环中
var 群主名单 = [“qq”,”ww”,”ee”,”rr”]
var 群主数目 = 群主名单.count //计算群组的数目是 4
数组和元祖的区别在于元祖可以用不同类型而数组中类型要相同
//半开区间 数组下标从0开始
for 排列顺序 in 0..<群主数目 {
println(“第(排列顺序+1)个群主是(群主名单[排列顺序])”)
}
选并操作符
a != nil ? a! : b
let 底线品牌 = “小米4”
var 理想品牌 : String?
理想品牌 = “iPhone 6”
var 实际入手 = (理想品牌 ?? 底线品牌) // ?? 理想品牌为nil值为底线品牌 不为nil直接拆包理想品牌的值
let a = “Hello world”
let 空字符串 = “”
let 空字符串2 = String()
if 空字符串.isEmpty {
println(“这是个空字符串”)
}else {
println(“这个字符串有值”)
}
let a = “Hello world”
a += ” 2” //Hello World 2
for 单个字符 in a {
println(单个字符)
}
var 单个字符2:Character = “as” //语法错误,单个字符 只能赋一个字符
let multiplier = 3
let message = “(multiplier) times 2.5 is (Double(multiplier) * 2.5)” // 3 times 2.5 is 7.5
Unicode 万国码:\u{十六进制编码}
let dollarSign = “\u{24}” //$,Unicode scalar U+0024
let sparklingHeart = “\u{62}” //b
let a = “Hello world”
countElements(a) //11
if (地区.hasSuffix(“区”)){ //hasSuffix(“区”)后缀中含有字符”区”
++区数
区列表.append(地区) //在数组的末尾加上一个元素
}
if (地区.hasPrefix(“上海”)){ //hasPrefix(“上海”)前缀中含有字符”上海”
++属上海地区
属上海地区列表.append(地区)
}
每一个代码单元的大小不同
UTF-8:最小代码单位是8位,2的8次方=256
UTF-16:代码单元大小是16位,2的16次方,最大代码的值是65535
UTF-32同理
println(“\n\nUTF-8编码:”) for 代码单元 in 东亚问好.utf8 { println(“(代码单元)”) } println(“\n\nUTF-16编码:”) for 代码单元 in 东亚问好.utf16 { println(“(代码单元)”) } println(“\n\nUTF-32编码:”) for 万国码标量 in 东亚问好.unicodeScalars { println(“(万国码标量)”) //打印的是每个标量 } println(“\n\nUTF-32编码:”) for 万国码标量 in 东亚问好.unicodeScalars { println(“(万国码标量.value)”) //打印的是每个标量的值 } 这里看到UTF-16编码和UTF-32编码相同,但是选靠后的文字编码就会不同,比如\u{1F396}是个爱心两者的UTF-16编码和UTF-32编码是不一样的。