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

字符串

转义字符

  • \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  value:慢走
// 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
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值