Swift语言基础(二)

来源:互联网 发布:nodejs access数据库 编辑:程序博客网 时间:2024/05/21 16:58
  1. 可选(optionals)
var str:String? = "Hello Swift"

str 可能为nil

解包(unwrap)一个可选变量

if let unwrappedStr = str{    println("unwrapped!\(unwrappedStr.uppercaseString)")}else{    println("was nil")}

2.强制解包(Forced unwrapping)

如果你知道某个可选变量必定包含一个值,可以强制解包

var str:String? = "Hello Swift"println("Force unwrapped! \(str!.uppercaseString)")

3.隐式解包(Implicit unwrapping)

var str:String!="Hello Swift"str = str.lowercaseStringprintln(str)

4.可选链(optional chaining)

var maybeString:String? = "Hello Swift"let uppercase = maybeString?.uppercaseString //如果maybeString包含一个值,就执行后面的表达式,如果是nil,就返回nil

5.Arrays

var array = [1,2,3,4,5]println(array[2]) //访问第3个元素array.append(6) //增加一个元素array.extend(7...10) //增加多个元素

数组的元素类型在初始化时指定,或者编译器自己推断

var array:Array[Int] = [1,2,3,4,5] //元素只能为Int类型var array1:Array<AnyObject> = ["1",1.0,"2"]//元素可为任意类型

6.Dictionaries

var dictionary:[Int:String] = [1:"Dog",2:"Cat"]println(dictionary[1]) //访问key为1的值dictionary[3] = "Mouse" //增加一条记录

7.引用和复制

var dictionaryA = [1:1,2:4,3:9,4:16]var dictionaryB = dictionaryA //A,B 一样的值dictionaryB[4] = nil   //A有四条记录,B只有3条记录Array 也具有一样的特性

8.Sets

var setA = Set<Int>() //初始化一个空的Int类型setvar setB:Set = [1,2,3] setA.insert(1)  //插入1  集合[1,2,3]setA.remove(2)  //移除2  集合[1,3]
0 0
原创粉丝点击