Strings and Characters摘录-CS193P-Swift Programming Language

Reading Assignment I: Intro to Swift

Strings and Characters摘录-CS193P-Swift Programming Language_第1张图片


Strings and Characters摘录-CS193P-Swift Programming Language_第2张图片

多行的String写在两个"""中间,前后不包括换行


Strings and Characters摘录-CS193P-Swift Programming Language_第3张图片

多行的String中避免换行值,用\结尾换行


Strings and Characters摘录-CS193P-Swift Programming Language_第4张图片

多行String每行前面的空格不少于 在末尾的"""前的空格数,并且这些相等数量的空格最后将在String值中省略


Strings and Characters摘录-CS193P-Swift Programming Language_第5张图片

String特殊符号


Strings and Characters摘录-CS193P-Swift Programming Language_第6张图片
1

2测试

多行String中可以只用一个\来保留多个"


Strings and Characters摘录-CS193P-Swift Programming Language_第7张图片

空String的两种初始化方法
String.isEmpty 返回是否为空


Strings and Characters摘录-CS193P-Swift Programming Language_第8张图片

String是值类型
Swift编译器提供最优化的智能的默认copy过程,只在必要的时候产生copy


Strings and Characters摘录-CS193P-Swift Programming Language_第9张图片

用for-in loop来遍历String每个Character
创造一个Character需要加Character声明(即使内容是单个字符默认还是String)
String可以用Character数组初始化


Strings and Characters摘录-CS193P-Swift Programming Language_第10张图片

String可以append一些Character或者String,Character无append


Strings and Characters摘录-CS193P-Swift Programming Language_第11张图片

String Interpolation用\()实现
注意Double(multiplier) * 2.5


Strings and Characters摘录-CS193P-Swift Programming Language_第12张图片

扩展字符集: a sequence of one or more Unicode scalars that(when combined) produce a single human-readable character.


Strings and Characters摘录-CS193P-Swift Programming Language_第13张图片

String.count 计算字符数包括空格
一个表情算一个字符(试了几个)


Strings and Characters摘录-CS193P-Swift Programming Language_第14张图片

Unicode scalars的使用不会改变字符数大小
相同字符的不同表现方法会导致不同的存储大小
count区别于NSString的length


Strings and Characters摘录-CS193P-Swift Programming Language_第15张图片

对String的访问取值:
String.startIndex; String.endIndex;
after: ; before: ;
Index, offsetBy:


Strings and Characters摘录-CS193P-Swift Programming Language_第16张图片

String.indices遍历String所有字符


Strings and Characters摘录-CS193P-Swift Programming Language_第17张图片
1

Strings and Characters摘录-CS193P-Swift Programming Language_第18张图片
2

String的Character插入、String插入(contentsOf:)
String的Character删除、substring删除(removeSubrange(range) )


Strings and Characters摘录-CS193P-Swift Programming Language_第19张图片
1

要多次用一个substring就要去转换成String实例继续来用 String(substring)
substring只是短时间使用的暂例


Strings and Characters摘录-CS193P-Swift Programming Language_第20张图片
2

substring reuses the memory that String uses.
这也是要对一个substring结果多次使用的话需要将其转为为单独的String的原因


Strings and Characters摘录-CS193P-Swift Programming Language_第21张图片

String或Character相等的判定
只需要canonically equivalent: have the same linguistic meaning and appearance.
即使他们是由不同的Unicode scalars组成


Strings and Characters摘录-CS193P-Swift Programming Language_第22张图片

Latin的A和Cyrillic(斯拉夫)的A的语学意义不同
看不出来的情况..


Strings and Characters摘录-CS193P-Swift Programming Language_第23张图片

用scalars加圈圈
用Unicode scalars表国家国旗


Strings and Characters摘录-CS193P-Swift Programming Language_第24张图片

hasPrefix(String),hasSuffix(String)找前后缀返回是否存在
注意例子remeoAndJuliet是数组


Strings and Characters摘录-CS193P-Swift Programming Language_第25张图片

String, Character, hasPrefix(String), hasSuffix(String)都是按照canonical equivalence做相等比较

你可能感兴趣的:(Strings and Characters摘录-CS193P-Swift Programming Language)