您的位置:首页 > 移动开发 > Swift

Swift_学习笔记_字符串、数组、字典

2017-08-08 14:17 369 查看

字符串

转义字符

\0(空字符)、\\(反斜扛)、\t(水平制表符)、\n(换行符)、\r(回车符)、\”(双引号)、\’(单引号)

单字节Unicode标量,写成\u{nn},其中nn为两位十六进制数

双字节Unicode标量,写成\u{nnnn},其中nnnn为四位十六进制数

var ch = "\u{56}\u{5355}\t\u{9501}\nhello"
print(ch)
// 经过测试{}内最成为五位


字符串拼接

字符串可以使用加号进行字符串的拼接

可以采用”append()”方法来拼接字符串

var str1 = "hello"
let str2 = "word"
print(str1+str2)
// helloword
str2.append("ASCJSDK")
print(str2)
// wordASCJSDK


字符串与其它数据类型的拼接

字符串与其它数据类型的拼接(“\()”)又可以成为字符串的插值操作

var str1 = "hello"
var str2 = "\(str1),Swift语言"
print(str2)
// hello,Swift语言


字符串相关操作

判断是否为空

可以使用”.isEmpty”来判断

可以使用”.characters.count”根据字符串个数进行判断

比较字符串是否相等

可以使用”==”来判定

字符串的比较是逐位进行比较,从首位开始,直到两个字符不相同为止。

最终返回的是Unicode编码值比较的结果

var str1 = "hello"
var str2 = "hellp"
print(str1<str2)
// true


判断字符串的前缀和后缀

判断字符串的前缀是否是某个字符串的方法

var str2 = "hellp"
str2.hasPrefix("he") // true


判断字符串的后缀是否是某个字符串的方法

var str2 = "hellp"
str2.hasSuffix("p") // true


将字符串转化为大写或者小写

将字符串全部转化为大写:uppercased()

将字符串全部转化为小写:lowercased()

var str2 = "Hellp"
str2.uppercased() //HELLP
str2.lowercased() // hellp


与其它数据类型转换

其它数据类型转化为字符串,使用插值操作就可以

字符串转化为Int/Float类型

var str2 = "12"
var ss:Int? = Int(str2)
print(ss!) // 12
var str2 = "12.1"
var ss:Float? = Float(str2)
print(ss!) // 12.1


数组

数组的声明

var array = ["你好","欢迎","慢走","不送"]
var array1:[String]
array1 = []
var array2:[String] = []
var array3 = [String]()
var array4 = Array<String>()


需要对数组进行初始化,在初始化是可以进行赋值元素,也可直接使用”[]”表示一个空数组

必须指定元素类型,可以显示指定,也可以通过初始化,让编译器识别出类型

// 错误的写法
var array5 = []
array5.append("aaaa")


数组元素的访问和修改

访问可以根据下标进行访问

可以通过数组的个数判断数组是否为空

可以利用isEmpty属性(布尔值)进行判断

元素的修改

// 修改单个元素
array[0] = "hello"
print(array)
// ["hello", "欢迎", "慢走", "不送"]

// 修改多个元素
array[0...2] = ["hello","welcome","wait"]
print(array)
// ["hello", "welcome", "wait", "不送"]


数组的遍历

for-in循环进行数组的遍历

for循环被废弃

var array = ["你好","欢迎","慢走","不送"]
for index in 0..<array.count {
print("index:\(index)  value:\(array[index])")
}
// index:0  value:你好
// index:1  value:欢迎
// index:2  valu
4000
e:慢走
// index:3  value:不送
for value in array {
print("value:\(value)")
}
// value:你好
// value:欢迎
// value:慢走
// value:不送


数组元素的插入和删除

插入元素

在指定位置插入元素 insert(_ newElement: Element, at i: Int)方法

var array = ["你好","欢迎","慢走","不送"]
array.insert("稍等", at: 2)
print(array)
// ["你好", "欢迎", "稍等", "慢走", "不送"]


在数组末尾添加元素:func append(_ newElement: Element)

var array = ["你好","欢迎","慢走","不送"]
array.append("稍等")
print(array)
// ["你好", "欢迎", "慢走", "不送", "稍等"]


在数组末尾添加一个数组:+= ,数组的拼接

var array = ["你好","欢迎","慢走","不送"]
array += ["一起"]
print(array)
// ["你好", "欢迎", "慢走", "不送", "一起"]


删除元素

删除指定位置的元素:func remove(at index: Int) -> Element

var array = ["你好","欢迎","慢走","不送"]
array.remove(at: 1)
print(array)
//["你好", "慢走", "不送"]


删除数组中末尾的元素:removeLast()

var array = ["你好","欢迎","慢走","不送"]
array.removeLast()
print(array)
// ["你好", "欢迎", "慢走"]


删除数组中首位的元素:removeLast()

var array = ["你好","欢迎","慢走","不送"]
array.removeFirst()
print(array)
// ["欢迎", "慢走", "不送"]


删除数组中后几位的元素:func removeLast(_ n: Int)

var array = ["你好","欢迎","慢走","不送"]
array.removeLast(2)
print(array)
//["你好", "欢迎"]


删除数组中前几位的元素:func removeFirst(_ n: Int)

var array = ["你好","欢迎","慢走","不送"]
array.removeFirst(2)
print(array)
// ["慢走", "不送"]


字典

字典的声明

键值对的键和值必须是显示声明

声明完字典需要初始化

字典的key值的类型必须是可以被哈希化的(基本数据类型和可被哈希化的类型)

var dict1 = [1:1,2:2,3:3]
var dict2:Dictionary<String,String> = [:]
var dict3 = Dictionary<String,String>()
var dict4 = [String:String]()


字典元素的访问和修改

var dict = ["key1":"iOS","Key2":"Android","key3":"Java","key4":"Html"]


字典元素的访问

print("\(dict["key1"])") //Optional("iOS")
print("\(dict["key5"])") // nil


字典元素的修改

直接进行元素的修改

dict["key5"] = "Swift"
// 如果dict内存在key5的键值对,则修改原本的元素
// 如果不存在则添加此键值对


通过updateValue(forKey:)进行修改,

dict.updateValue("jQuery", forKey: "key6")
// 存在key6则修改,不存在则添加


通过removeValue(forKey: )删除特定键值对

dict.removeValue(forKey: "key6") //jQuery
// 该方法返回值为该键值对的Value值


字典的遍历

遍历字典的键值对

var dict = ["key1":"iOS","Key2":"Android","key3":"Java","key4":"Html"]
for (key,value) in dict {
print("key:\(key),value:\(value)")
}
// key:key3,value:Java
// key:key4,value:Html
// key:Key2,value:Android
// key:key1,value:iOS


遍历字典的键值

for key in dict.keys {
print("key:\(key)")
}
// key:key3
// key:key4
// key:Key2
// key:key1


遍历字典所有的值

for value in dict.values {
print("value:\(value)")
}
// value:Java
// value:Html
// value:Android
// value:iOS
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  swift