【Swift】学习笔记(三)——字符和字符串
基本了解了变量的创建和基础数据类型,但是在开发中用得最多的还是字符串。那什么是字符串呢?
Swift 的String类型表示特定序列的Character(字符) 类型值的集合,它是值类型具有可变性
Swift 的字符串和字符类型是全然兼容 Unicode 标准的
1、定义一个String类型变量
let stringTest = "String test" //定义一个stringTest String类型变量 其值为String test
let stringTest: String = "String test" //和上面意思一样
let stringTest = String() //定义一个stringTest String类型变量 其值为空字符串
let stringTest = "" //同上
也能够通过插值的方式:\()
let inta = 1
let stringTest = "\(inta)"
注意插值方式不能包括 “ 和 \ 而且不能包括回车或换行
2、字符串操作 +
let stringTest = "my test "
stringTest += "you test" //stringTest的值为my test you test
也能够用+操作字符,比如
let stringTest = "my test"
let chaTest: Character = "y"
let result = stringTest + chaTest //值为 my testy
3、字符串比較
因为它是值类型,那就简单啦 用 == 就可以。
还能够比較字符串的前缀或者后缀相等:hasPrefix/hasSuffix
4、字符串字面量
let stringTest = "my test" //当中"my test"就是一个字面量
字符串字面量能够包括下面特殊字符:
转义字符\0(空字符)、\\(反斜线)、\t(水平制表符)、\n(换行符)、\r(回车符)、\"(双引號)、\'(单引號)。
单字节 Unicode 标量,写成\xnn,当中nn为两位十六进制数。
双字节 Unicode 标量,写成\unnnn,当中nnnn为四位十六进制数。
四字节 Unicode 标量。写成\Unnnnnnnn,当中nnnnnnnn为八位十六进制数。
5、字符串函数介绍
a 推断字符串是否为空 stringTest.isEmpty 这是个属性 返回Bool值
b 推断字符串长度 全局函数 countElements比如countElemets(stringTest)
c hasPrefix/hasSuffix方法来检查字符串是否拥有特定前缀/后缀比如 let stringTest = "abc_123";stringTest.hasPrefix("abc") //将返回true
d uppercaseString和lowercaseString属性来訪问大写/小写版本号的字符串
...还有非常多
【Swift】学习笔记(三)——字符和字符串的更多相关文章
- swift笔记 (三) —— 字符和字符串
字符串和字符 苹果要是不提供了unicode的字符串和字符,那就是他们公司全部人的脑袋都被门夹过 他自己家都要发非常多国家的版本号的软件,怎么可能不用unicode呢 此处略去30字... 这里能够拿 ...
- Swift 学习笔记 (三) 之循环引用浅析
原创:转载请注明出处 110.自动引用计数实践 下面的例子展示了自动引用计数的工作机制.例子以一个简单的Person类开始,并定义了一个叫name的常量属性: class Person { l ...
- 嵌入式Linux学习笔记(三) 字符型设备驱动--LED的驱动开发
在成功构建了一个能够运行在开发板平台的系统后,下一步就要正式开始应用的开发(这里前提是有一定的C语言基础,对ARM体系的软/硬件,这部分有疑问可能要参考其它教程),根据需求仔细分解任务,可以发现包含的 ...
- Swift学习笔记三
协议和扩展 在Objective-C中,协议是很常见也非常重要的一个特性,Swift中也保留了协议,语法略有变化. 用protocol关键字声明一个协议: protocol ExampleProtoc ...
- Oracle学习笔记三 SQL命令
SQL简介 SQL 支持下列类别的命令: 1.数据定义语言(DDL) 2.数据操纵语言(DML) 3.事务控制语言(TCL) 4.数据控制语言(DCL)
- Java IO学习笔记三
Java IO学习笔记三 在整个IO包中,实际上就是分为字节流和字符流,但是除了这两个流之外,还存在了一组字节流-字符流的转换类. OutputStreamWriter:是Writer的子类,将输出的 ...
- 学习笔记(三)--->《Java 8编程官方参考教程(第9版).pdf》:第十章到十二章学习笔记
回到顶部 注:本文声明事项. 本博文整理者:刘军 本博文出自于: <Java8 编程官方参考教程>一书 声明:1:转载请标注出处.本文不得作为商业活动.若有违本之,则本人不负法律责任.违法 ...
- VSTO学习笔记(三) 开发Office 2010 64位COM加载项
原文:VSTO学习笔记(三) 开发Office 2010 64位COM加载项 一.加载项简介 Office提供了多种用于扩展Office应用程序功能的模式,常见的有: 1.Office 自动化程序(A ...
- Swift学习笔记(一)搭配环境以及代码运行成功
原文:Swift学习笔记(一)搭配环境以及代码运行成功 1.Swift是啥? 百度去!度娘告诉你它是苹果最新推出的编程语言,比c,c++,objc要高效简单.能够开发ios,mac相关的app哦!是苹 ...
随机推荐
- 常用的LUA片段
生成TS的办法 local t=ngx.now(); local n=os.date(,); n=n..-string.len(n)); ngx.say(n); 产生101至200的所有素数 func ...
- python 去掉所有空白字符【解决】
今天用python从access数据库读取内容,组合成sql语句时,空白字符把我给搞疯了.... 所幸找到了一个好办法: ''.join(s.split())
- WebApi 的三种寄宿方式 (二) - 宿主和控制器不在一个程序集
新建一个类库: SelfHost: 方法一: 1.添加对MyControllers类库的引用. 2.在控制台代码中加入一行代码: 当然,可以添加多个程序集.(记得引用) var config = ne ...
- 某dalao贼快的hash?
#include<map> #include<cstdio> #include<iostream> #include<ext/pb_ds/assoc_cont ...
- CodeForces 786B Legacy(线段树优化建图+最短路)
[题目链接] http://codeforces.com/problemset/problem/786/B [题目大意] 给出一些星球,现在有一些传送枪,可以从一个星球到另一个星球, 从一个星球到另一 ...
- [Contest20171109]函数(lipshitz)
大M正在学习函数的光滑性并对Lipshitz常数非常感兴趣:当一个定义域为$[l,r]$的函数$f$,对于定义域内的任意$x,y$都有$\left|f(x)-f(y)\right|\leq K\cdo ...
- 【三维偏序】【分块】bzoj3262 陌上花开
裸的三维偏序. 对x坐标排序,y.z坐标分块.复杂度O(n*sqrt(n*log(n))).代码很短. #include<cstdio> #include<cmath> #in ...
- 静态NAT地址转换
1.配置路由器端口ip(两个端口需要设置两个网段) Router(config)#inter f0/1 Router(confiog-if)#ip add 202.1.1.2 255.255.255. ...
- jQuery判断一个元素是否为另一个元素的子元素
判断:当前元素是否是被筛选元素的子元素 jQuery.fn.isChildOf = function(b){ return (this.parents(b).length > 0); }; 判断 ...
- EF需要注意的virtual,懒加载,还有1对n更新
1.如果实体类型有任何一个集合属性是 virtual 的,那么该属性会懒加载,在查询该对象时,看到的类型是代理对象(proxy_xxxx), 使用new来更新1对n关系时会 增加 ).FirstOrD ...