swift学习文档(笔记)

2020-01-08 22:43:23刘景俊

数组的修改可以使用append方法或者+=


var 购物清单 = ["鸡蛋", "牛奶"]
 
购物清单.append("苹果")
 
购物清单 += "草莓"
 
println("(购物清单)") //[鸡蛋, 牛奶, 苹果, 草莓]

数组的获取,可以通过索引,也可以通过区间运算符


var 购物清单 = ["鸡蛋", "牛奶"]
 
println("(购物清单[0])") //鸡蛋
println("(购物清单[0..1])") //[鸡蛋]
println("(购物清单[0...1])") //[鸡蛋, 牛奶]
println("(购物清单[0...2])") //[鸡蛋, 牛奶, ]

dictionaries的定义


var airports: Dictionary<String, String> = ["TYO": "Tokyo", "DUB": "Dublin"]
 
//也可以简化为
//var airports = ["TYO": "Tokyo", "DUB": "Dublin"]

它的修改与读取使用[],而不能使用.


airports["BJ"] = "Beijin"

控制语句

如前面的几个例子所示,控制语句的条件不像js有小括号


for var index = 0; index < 3; index++ {
 println("index is (index)")
}
//index is 0
//index is 1
//index is 2

函数

函数的声明与调用:


func sayHello(personName: String) -> String {
 let greeting = "Hello, " + personName + "!"
 return greeting
}
 
println(sayHello("jserme"))

无返回的函数,其实质是返回一个Void,它等同于一个空的元组()

多返回值的函数与默认参数:


func info(word:String = "aha") -> (length:Int, containA:Bool){
 var containA = false
 for char in word {
  if( char == "a") {
   containA = true
   break
  }
 }
 
 return (word.utf16count, containA)
}
 
println(info(word: "波波")) //(2, false)
println(info()) //(3, true)

便于阅读的外部参数名,在参数定义之前,与参数定义以空格隔开,如下面的多个参数


func join(string s1: String, toString s2: String, withJoiner joiner: String)
 -> String {
 return s1 + joiner + s2
}
 
//调用的时候
join(string: "hello", toString: "world", withJoiner: ", ")
// returns "hello, world"