Swift学习笔记1:变量、数组、字典

简单值

使用var定义变量,使用let定义常量;在定义时可以声明类型或者赋予初值的时候Swift会自动识别类型;

var value1 = 12 // 定义变量,可以更改值
value1 = 13     // 类型定义之后不能修改
let value2 = 24 // 常量定义,不能更改值
value2 = 33     // error
var value3 : Double = 44.0 // 使用显示的方式声明对象类型

值永远不能像C++那样进行隐式转换,如果要转换请使用显示转换的方式;

let name = "Tony"
let age = 20
let nameAndage = name + String(age)

另外一种转换成String的方式是实用(string)的方式;

let count = 10
let str = "I have \(count) apples"

数组

数组使用[]创建,通过下标或者[key]的方式访问元素;
同样也可以采用隐式或者显示的方式声明数组或者字典中元素的类型;

let arr = ["a", "b", "c"] //隐式String类型
let arr : [String] = ["a", "b", "c"] //显示String类型

注意:虽然数组中支持同时存储不同类型的元素,但是尽量存储同一类型的元素,这样方便存取还容易排查Bug,另外在定义时最好采用声明类型的方式,编译器能更好到发现书写错误;

初始化空数组

var arr = [String]()

注意:为初始化的数组是不能使用的;

可以使用如下的方式创建具有确定长度和默认值的数组;

var arr = [Int](count:3, repeatedValue:1)
//默认值为1,拥有3个元素的整形数组

也可以使用Array的方式定义一个数组;

var arr = Array(count:4, repeatedValue:"stringValue")

可以使用+创建数组;

var arr1 = [a, b]
var arr2 = [c, d]
var arr3 = a + b // [a, b, c, d]

数组属性:count:长度

var arr = [1, 2, 3, 4]
var arrCount = arr.count // 4

数组属性:isEmpty:检查数组长度是否为0

var arr = [1, 2, 3]
var isEm = arr.isEmpty // false

数组添加元素:append或者+=

var arr = [1, 2, 3]
arr.append(4)// [1, 2, 3, 4]
arr += 5 // [1, 2, 3, 4, 5]
arr += [6 , 7] // [1, 2, 3, 4, 5, 6, 7]

注意:let定义的常量数组不能添加元素也不能改变长度,但是可以改变里面的值

var arr = [1 ,2 ,3]
arr[0] = 4 // [1 ,2 ,3 ,4] 

可以通过下标语法改变一系列的值;

var arr = [1, 2, 3, 4, 5]
arr[0...1] = [6, 7]// [6, 7, 3 ,4 ,5]

注意:这种方式对let数组不适用;

注意:不能使用下标的方式向数组中添加元素,这样编译期不会报错误,但运行期间会报错;

在特定位置插入一个值使用insert(value, atIndex: index)方法;

var arr = [1, 2, 3]
arr.insert(5, atIndex:1) // [1, 5, 2 ,3]
这个index不能越界

移除元素方法:removeAtIndex(index);

var arr = [1, 2, 3, 4, 5]
arr.removeAtIndex(1)// [1, 3, 4, 5]

移除最后一个元素:removeLast();

var arr = [1, 2, 3, 4, 5]
arr.removeLast()// [1, 2, 3, 4]

遍历数:for - in;

var arr = [1, 2, 3, 4]
for v in arr
{
    printLn(v)
}

在遍历时使用enumerate函数返回元素的索引和值的元组;

var arr = [1, 2, 3, 4]
for (index, value) in enumerate(arr)
{
    printLn("Index: \(index) and Value:\(value)")
}

字典

字典的key和value可以是任意类型的值;

创建字典

var dic = ["a" : 10, "b" : 20, "c" : 30]

count:返回字典长度

var dic = ["a" : 10, "b" : 20, "c" : 30]
var c = dic.count // 3

下标方式添加值或者改变值

var dic = ["a" : 10]
dic["b"] = 20
dic["a"] = 30

注意:let字典不能添加值也不能改变值;

let类型数组添加或者更新元素采用updateValue(forKey: key)函数;如果key不存在则添加一个值,如果key中存在值则替换这个值,同时返回旧的值;

posted @ 2015-01-11 21:22  Tony's_Den  阅读(184)  评论(0编辑  收藏  举报