//: [Previous](@previous)
import Foundation
import UIKit
/*
String 结构体,效率比对象高,一般推荐使用String
NSString 继承NSObject
*/
var str:String = "你好世界"
//支持遍历
for c in str.characters {
print(c);
}
// 字符串的拼接
let name:String? = "老王"
let age = 80
let title = "小菜"
//可选类型无法参与 肯定有值 print , 必须要指定, 方法1: 写感叹号 方法2: ?? "" 指定空得时候的内容,?? 左右都需要空格, 真坑
print(name ?? "" + String(age) + title)
// \(变量名) 就会自动转换拼接
// 如果是可选项的转换 , 会带上 'Optional', 提示开发人员,值是可选的
// 拼接字符串有小陷阱,可选类型会打印 Optional
print("\(name)\(age)\(title)")
// 真的需要格式怎么办
let hour = 9
let minute = 5
let second = 8
let timeStr = "\(hour):\(minute):\(second)"
// 注意: 参数是以数组的形式输入 []
let timeStr1 = String(format: "%02d:%02d:%02d", arguments: [hour,minute,second])
// 在Swift语法变迁中,'Range'的变化非常大, 如果碰到 Range, 最好把String改成 NSString
//str.substringWithRange(<#T##aRange: Range<Index>##Range<Index>#>)
var s="我是谁啊"
(s as NSString).substringWithRange(NSMakeRange(2, 2)) // (startIndex, len)
// 网上推荐使用Swift的str.substringWithRange(<#T##aRange: Range<Index>##Range<Index>#>)
let index = s.startIndex.advancedBy(2) // 输入的变量是角标, --->谁
let index2 = s.endIndex.advancedBy(-1) // 从后往前数 -1 -2 -3 --->啊
var range = Range<String.Index>(start: index,end: index2) --->'谁'___'啊',包含头,不包含尾
var s1:String=s.substringFromIndex(index) //从角标开始到末尾
var s2:String=s.substringToIndex(index2) // 从0到角标 , 不包含角标
var s3=s.substringWithRange(range) //包含起始, 不包含尾
print(s1)//谁啊
print(s2)//我是谁
print(s3)//谁
//let range = Range<String.Index>(start:str., end: advance())
//str.substringWithRange(range);
//: [Next](@next)