Swift基本语法(一)

1.变量,常量和别名

使用var声明变量,使用let声明常量,常量在声明的时候就需要赋值,且以后不能变动

var name // 错误的声明方式,Type missing

var myName = "Tom" 

var age : Int?   // 声明为可选类型

var myAge : Int


let NAME = "Jake"  //常量的声明


typealias Age = UInt   // 为UInt声明了一别名为 Age

var age_1 : Age

var age_2 : Age = 12


2.元组

var score = ( "math", 12, true )

println(score.0 )  //取出元组score中第一个元素,为"math"


元组可以嵌套

var rank = ( 100, 90, "优秀", ( "A", 98, true ))

println(rank.3.0)   //打印的结果为 "A"


元组中的元素也可以按照key-value的形式存储,和PHP的array的存储方式相似,上面的下标存储的方式,下标可以看作是key-value中的key:

var subject = ( math : 98, english : "A", chinese: true );

println(subject.math)  //打印结果: 98


3.溢出运算

var min = UInt.min // 获得无符整形的最小值

var b = a - 1  // 会导致程序奔溃退出

避免因为运算溢出而导致的程序奔溃,可以使用溢出运算符

var min = Uint.min

var b = a &- 1  //计算得到的b为UInt中最大的值

相似的还有 &+  &/  &* 


4.区间运算 

for i in 0...10

{ // 全闭区间

println(i); // 会打印0,1,2,....,10总共11个数字

}


for j in 0..<10 

{ // 半闭半开的区间

println(j);会打印0,1,2,....,9总共10个数字

}


5.特征相似运算符

var c = a === b  // 三个等号为特征相似运算符,只有当a和b指向相同的实例,c才为true


6.空合并运算符

let DNAME = "Tom"

var name :String? // 声明为可选类型

var myName = name ?? DNAME  // 若name为nil,则myName取DNAME,否则取name

需要注意的是,name必须为可选类型


7.字符串和数组

var name = "MXD";

var myName = String()

name += ", Hello"  //字符串拼接


var food  = [ "Fruit-Apple", "Fruit-Orange", "Val-Tomato" ];  //数组

for item in food

{

if( item.hasPrefix("Fruit"))

{

println("Has Prefix");

}


if(item.hasSuffix("e"))

{

println("Has Suffix of e")

}

}


var shoppingList = ["Eggs",12, true]; //数组

for itemin shoppingList

{

println(item);

}

shoppingList.append("newItem") // 利用append()数组添加新的元素

shoppingList += [12, false] // 利用+=批量添加数组元素

shoppingList[0...2] = ["a", "b"] // 替换shoppingList数组中前三个元素

shoppingList.insert("insertItem", atIndex: 2) //在新的元素插入第3个位置


shoppingList.removeRange(0...3) //移除一定范围内的元素

shoppingList.removeAtIndex(1) //移除某一位置上的元素

shoppingList.removeAll(keepCapacity: false)

shoppingList.removeLast() //移除数组中最后一项


8.字典

var dic_0 : Dictionary<String, String> = [:]  // 声明了一个空的字典,并指定key-value的格式都是String

var dic_1 : [String : String]   // 字典的声明方式


var dic_2 = Dictionary<String, String>();  // 创建了一个字典

var dic_3 = Dictionary<String, Int>(minimumCapacity  4);  // 创建了一个最少存储4个元素的字典

var ifEmpty = dic_2.isEmpty   // 判断字典是否为空


var person = [

"name":"Tom",

"age":12,

"sex":"female"];

println(person["name"]!); // 字典中取出的value值为可选类型,需要使用强解析才可以拿到值,即加!号


person["address"] ="China Wuhan Hust"; //key-value方式添加了字典元素


 //person字典中key="name"的元素的value换成"Jake",返回的是替换之前的value

// 若字典中原本没有该key,则以key-value插入字典,返回的则为nil

var oldName =person.updateValue("Jake", forKey:"w");

println(person["w"]);

println(oldName);


for (key, value)in person

{

println("person\(key) AND\(value)");

}


person.removeValueForKey("name")//移除了key="name"的元素

// 字典会根据key和value的值,对其进行类型判断,若类型不单一,则为NSObject

var keyArr = [String](person.keys)

var valueArr = [NSObject](person.values)  // 字典的value的类型不单一,类型为NSObject

println(keyArr)

println(keyArr[0])

println(valueArr)


你可能感兴趣的:(Swift基本语法(一))