Swift入门教程?看一篇文章就够了(三)

2021-05-31 10:47:36 浏览数 (1)

一·字符串和字符

特点:1. 兼容Unicode 2.与OC的NSString相关联,可使用NSString类方法

字符串字面量

单行 let str = "Guangzhou"

多行 let qua = """

生活就像海洋,只有意志坚强的人才能叨叨的到达彼岸

生活就像__ , 只有————————————

"""

初始化空字符串

var a = ""

var b = String()

a => b b=>a

字符串类型

字符串是值类型,常量、变量赋值操作,或在函数/方法中传递时,会进行值拷贝,实际的复制只发生在绝对必要的情况下,这意味着你将字符串作为值类型的同时可以获得极高的性能

这是写在官网上的,我拿来用一下。

字符串索引

startIndex endIndex属性

注意:Swift的字符串索引不能以Int值作为下标Index,可以使用独有的获取下标的方法。

let a = "Guten Tag!"

a[a.startIndex] = G

a[a.Index(before:a.endIndex)] = ! 结束字符下标endIndex :g 之前before

a[a.Index(after:a.startIndex)] = u 开始字符下标startIndex:G 之后after

同样的数组越界会报错

indices属性

for index in greeting.indices {

print("(greeting[index]) ", terminator: "")

}

// 打印输出“G u t e n T a g ! ”

字符串插入和删除

var welcome = "hello"

welcome.insert("!", at: welcome.endIndex)

在结束字符串插入一个!

let range = welcome.index(welcome.endIndex, offsetBy: -6)..<welcome.endIndex

welcome.removeSubrange(range)

// welcome 现在等于 "hello" 删除一个区间内的字符串range

range是从字符串的结束,向左偏移6个位置的字符world!

子字符串

let a = "Hello, world!"

let index = a.firstIndex(of: ",") ?? a.endIndex

let b = a[..<index]

// beginning 的值为 "Hello"

// 把结果转化为 String 以便长期存储。

let newString = String(b)

0 人点赞