【swift】15-0518 自增,自减 选并 字符串的比较 Unicode

来源:互联网 发布:网络规划设计方案 编辑:程序博客网 时间:2024/04/29 18:34

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编码是不一样的。

0 0
原创粉丝点击