失去的东西,
也许从未真正拥有过,
所以不必惋惜。
开始学习Swift,Swift一年内必将取代Objective-C。
不忘初心,方得始终。
没时间只是借口。
首先第一句代码:hello world
println("Hello,world!")
关键字:let 表示常量
let constant = 42
ps:swift是先将程序转化为Objective-C,再将Objective-C转化为C语言。
Swift格式要求貌似非常高,一个空格都是错误。
=两边都要有空格。
关键字:var 表示变量
var variable = 1
variable = 2
设置数据类型:
let integerNum = 1
let doubleNumA = 1.1
let doubleNumB: Double = 1.2
强制转换:
let label = "hello, number is"
let num = 43
let newLabel = label + String(num)
在字符串中包含参数: \()
let apple = 3
let appleNum = " I have \(apple) apples. "
数组:[ ]
var balls = ["football" , "basketball" , "volleyball"]
空数组:let emptyArray = [String]()
balls = [ ]
字典:[:]
var people = ["Tony":"football" ,"Jesse":"basketball" , "Any":"volleyball"]
空字典:let emptyDic = [String:String]()
balls = [:]
for-in:
var nums = [3 , 2 , 5 , 4]
var sum = 0
for num in nums{
sum += num
}
sum
关键字:if
var optionalName:String? = "Jesse" //初始化,当optionalName缺省就为“Jesse”
if let name = optionalName{
//if中只能是bool型,当optionalName为空为false,否则为true
}
关键字:switch
ps:没有break,默认自带break
必须带default
let ball = "volleyball"
switch ball{
case "basketball":
let ballComment = "basketball" //break;
case "football":
let ballComment = "football"
case "volleyball":
let ballComment = "volleyball"
default:
let ballComment = "ok"
}
关键字:for-in
let numbers = [1,2, 3, 4, 5, 6,7]
for a in numbers {
}
var sum0 = 0
for i in 0..<4{
sum0 += i
}
关键字:while
var n = 0
var sum = 0
while n < 10 {
sum += n++
}
var m = 0
var sum2 = 0
do {
sum2 += m++
}while m <10
关键字: ..<
0..<4 == 0 ,1, 2, 3
关键字:func 函数
func function(name: String, age: Int) -> String{
return"name is \(name),age is \(age)"
}
返回多参数
func calculate(scores:[Int]) -> (max :Int, min:Int){
var max = scores[0]
var min = scores[0]
for score in scores{
if score > max{
max = score
}else if score < min{
min = score
}
}
return (max, min)
}
输入不定参数
func sumOf(numbers: Int...) -> Int{
var sum = 0
for number in numbers{
sum += number
}
return sum
}
函数里面包含函数
func functinInFunction(input: Int) -> Int{
var y = input
func add(){
y += 5
}
add()
return y
}
返回函数
func returnFunction() -> (Int -> Int){
func add(input: Int) -> Int{
return input + 1
}
return add
}
var lalala = returnFunction()
lalala(5)
函数作为参数
func hasAnyMatch(numbers: [Int], condition: Int -> Bool) -> Bool{
for number in numbers{
if condition(number){
return true
}
}
return false
}
func lessThanTen(input: Int) -> Bool{
return input < 10
}