您的位置:首页 > 移动开发 > Swift

ios深度解析之Swift(基本数据类型2)

2015-10-23 11:42 295 查看
//*********************数组
// 数组中只能存储相同类型的数据
var array = [1,2,3] // 自动推断为[Int] 类型 [1,2,3]的数组
var array2 = ["1", "2", "3"] // [String] ["1", "2", "3"]
var array3 = [1, "2", "3"]

// 数组指定类型 语法: [Int]
// 1.语法: [Int]
var array4 : [Int] = [1, 2, 3]
// 2.语法:Array<Int>
var array5: Array<String> = ["1", "2"]
var array6: Array = [1, "2"] // 建议不使用

// 增加元素
array.append(4)
// 插入元素
array.insert(5, atIndex: 2)
// 获取最后一个元素
array.last
// 获取第一个元素
array.first
print(array)

// 删除
let c = array.removeAtIndex(1)
c

// 更改
array[0] = 2
array

// 查询
let d = array[1]

// 数组中重载运算符的使用 +
array += array4
array
array4

// 区域运算符
// ... 1...2 从1到2的闭区间
// ..< 1..<2 从1到2的开区间
array[0...2]
array[0..<2]
// 区间替换,数组中元素个数没有限制
array[0...2] = [11, 22, 33]


// **************************** 字典
// 键值对数组,字典的使用规则,键与键类型相同,值与值类型相同,键值类型可以不同
var dictionary = [1:"1", 2:"2", 3:"3"]
// 声明字典类型
// 1.[key:value]
var dictionary1: [Int: String] = [1:"2"]
// 2.Dictionary<key,value>
var dictionary2:Dictionary<String,Int> = ["1":1]

// 查询
// 根据key查询
let e = dictionary[1]
dictionary[4] = "4"
dictionary
// 根据key取值 进行赋值操作时 如果key存在则执行要更改的操作,如果不存在执行插入操作

// 删除
var index_dic = dictionary.indexForKey(1)
dictionary.removeAtIndex(index_dic!)

// **********************可选类型optional
// 可选类型的使用 可以声明nil的变量
// 语法规则: 变量:变量类型?
var error:String? = nil
var score_lin: Int? = nil
error = "error"
error! += "404"
error
// 可选类型的变量在赋值时 不需要加! 使用变量是需要加!
// ! : 解包
// 如果我们在使用可选变量的时候 只有当程序开发人员确定当前可选类型有值的时才会执行解包动作

// **********************元组

// 语法() 源于关系型数组的概念 在存储不同类型的数据
// 元组可以作为函数的返回值 处理多返回值的情况
var status = (404, "Not Found")
// 元组自带取值方式
status.0
status.1

// 可以对元组中数据进行命名获取
var status2 : (num:Int, Info:String) = status
status2.num
status2.Info
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: