Swift的基础,操作符,字符串和集合类型
来源:互联网 发布:蔬菜网络销售 编辑:程序博客网 时间:2024/06/05 16:35
这篇文章主要讲解苹果Swift官方指南的第二章前四节的要点内容,如果想看完整的英文文档可以去苹果开发者页面下载。
Basic
声明变量var
注释依旧使用"//" "/**/", 注意这里"/**/"在Swift可以嵌套使用
表达式结尾不再有分号
整数
Float-pointing
类型推导
var i1: UInt8 = 5var i2: UInt16 = 2_000var sum = UInt16(i1) + i2 //2001
别名
typealias MyInteger = Intvar mi: MyInteger = 8
Boolean
var i = 1if i { //会引发编译错误}
元组
var http404Error = ("error", 404)var (statusMessage, statusCode) = http404Error
你可以通过statusMessage或者statusCode直接访问元组中的值,
该元组以(.0 "error", .1 404)结构进行存储所以可以直接访问
如果我们只想获取code忽略message可以这样进行访问
var (_ , code) = http404Error
这样就可以不去管message而直接拿到code了
文档中还讲解了一种带描述的初始化方式,如:
let http200Status = (statusCode: 200, description: "ok")
Optional与if语句
let number = "1sdd"var isIn = falselet convertN = number.toInt()if convertN { isIn = true}isIn //false
上面这个例子即使将赋值语句放入if的statement中也成立,
nil
Assert
运算符
字符串和字符
在Swift中,String属于value type 传递时会被拷贝,而不是指传递引用。这样可以避免未知的修改。
声明空字符串
/*Empty String*/var statement: String?var empty = ""var anoEmpty = String()if empty.isEmpty { statement = "empty string"}statement
isEmpty函数判断是否为空,常用的函数还有
countElements 返回字符个数
String没有length函数,有lengthOfBytesUsingEncoding()函数,来获取指定字符集下的字符串长度
遍历则直接使用for-in来获取每个字符
字符串的插入可以直接使用\(),比较不再使用isEqualToString: 而是通过"=="
前后缀函数 hasPrefix() hasSuffix()
大小写转换 uppercaseString() lowercaseString
在Swift里我们可以通过访问String的utf8,utf16,unicodeScalar来获取指定字符集下的unicode值
scalar的value为unicode值,直接访问则为字符
字符也可以使用一元运算符"+"来进行拼接
集合类型
let i: Int = 4let d: Int = 3var arr: Array<Int> = [i, d]var strings: String[] = ["123", "nihao"]var anoStrings : Array<String> = strings
let isEmpty = arr.isEmpty //falselet count = arr.count //2
var arr = [6,3]arr += 5 //[6,3,5]arr.insert(10, atIndex: 0) //[10,6,3,5]arr.removeAtIndex(0) //[6,3,5]arr.removeLast() //[6,3]
var emptyArr = Array<Int>()var pArr = Array<Int>(count:3, repeatedValue:0)
var dict: Dictionary<Int, Int> = [4 : 8, 10 : 20]
这里的键值都为Int类型,这在OC里肯定是不允许的
dict.updateValue(50, forKey: 10) //20dict //[4 : 8,10 : 50]dict.updateValue(100, forKey: 50) //nildict //[4 : 8, 10 : 50, 50 : 100]
遍历键或者值则使用dict.keys dict.values来访问
var emptyDict = Dictionary<String, String>()
- Swift的基础,操作符,字符串和集合类型
- Swift学习笔记(二)字符串和集合类型操作
- Swift 基本运算符和集合类型
- swift基础(十):类型检查操作符is、类型转换操作符as(包括!及?的区别)、AnyObject和Any类型
- swift-集合类型01-数组的基本操作
- swift-集合类型02-字典的基本操作
- 15.4 Swift深入分析集合类型的拷贝操作
- Swift基础(二):运算符、字符串和字符、数组、集合、字典
- swift 集合(Collection)类型的赋值和拷贝行为
- swift字符串,数组,字典和集合的遍历
- Swift语法基础:13 - Swift的字符串字面量, 初始化字符串, 字符串可变性, 字符串是值类型
- 操作集合和字符串
- Swift集合类型(数组和字典)
- Swift集合类型(数组和字典)
- swift-集合类型03-字典和数组
- swift 字符串和数组的转化 数组内部类型转化
- Swift学习 字符串的操作
- Swift-字符串:String 的操作
- 个人生活安排
- 线性回归及梯度下降法
- pgsql8.1中文文档截取
- leetcode-3Sum
- mysql学习系列:Error:1005错误之errno:105
- Swift的基础,操作符,字符串和集合类型
- mac cocos2dx环境搭建 配置完报错:Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files
- swift 学习资料收集
- 修改android最小堆内存
- ios7 中的 Auto Layout 使用教程 第三节
- 第三讲财务报表是如何产生的(财务分析与决策)
- 对方的司法手段分的
- SVN:回滚代码
- mac os x下打开应用程序的OC代码