標籤:跳過 vegetable spi eve san prim 比較 and 類型
//: Playground - noun: a place where people can play
import UIKit
var str = "Hello, playground"
let individualScores = [75, 43, 103, 87, 12];
var teamScore = 0;
for score in individualScores {
// if 裡的條件判斷 不用加()
if score > 50{
teamScore += 3;
} else{
teamScore += 1;
}
}
print(teamScore);
//? 可選值 可為nil
//你可以一起使用 if 和 let 來處理值缺失的情況。這些值可由可選值來代表。一個可選的值是一個具體的值或者 是 nil 以表示值缺失。在類型後面加一個問號來標記這個變數的值是可選的。
var optionalString : String? = "Hello";
print(optionalString == nil)
var optionalName:String? = nil;
var greeting = "Hello";
if let name = optionalName {
greeting = "Hello, \(name)";
} else if(optionalName == nil){
greeting = "bye"
}
//?? 預設值
//如果變數的可選值是 nil ,條件會判斷為 false ,大括弧中的代碼會被跳過。如果不是 nil ,會將值賦給 let 後 面的常量,這樣代碼塊中就可以使用這個值了。
//另一種處理可選值的方法是通過使用 ?? 操作符來提供一個預設值。如果可選值缺失的話,可以使用預設值來代 替。
let nickName : String? = nil;
let fullName : String = "John Appleseed";
let informalGreetin = "Hi \(nickName ?? fullName)";
//switch 支援任意類型的資料以及各種比較操作——不僅僅是整數以及測試相等。
let vegetable = "red pepper";
switch vegetable {
case "celery":
print("Add some raisins and make ants on a log.");
case "cucumber","watercress":
print("That would make a good tea sandwich.");
case let x where x.hasSuffix("pepper"):
print("Is it a spicy \(x)");
default:
print("Everyting tastes good in soup");
}
let interestingNumbers = [
"Prime":[2, 3, 5, 7, 11, 13],
"Fibonacci":[1, 1, 2, 3, 5, 8],
"Square":[1, 4, 9, 16, 25],
];
var largest = 0;
var largestKind : String? = nil;
//你可以使用 for-in 來遍曆字典,需要兩個變數來表示每個索引值對。字典是一個無序的集合,所以他們的鍵和值以 任意順序迭代結束。
for (kind, numbers) in interestingNumbers {
for number in numbers{
if number > largest {
largest = number;
largestKind = kind;
}
}
}
var n = 2;
while n < 100 {
n = n*2;
}
print(n)
var m = 2;
repeat{
m = m*2;
}while m < 100
print(m)
var firstForLoop = 0
//..< 不包含上界 ...包含上界
//可以在迴圈中使用 ..< 來表示範圍,也可以使用傳統的寫法,兩者是等價的:
for i in 0...4 {
firstForLoop += i;
}
print(firstForLoop)
var secondForLoop = 0;
for var i = 0; i < 4; ++i {
secondForLoop += i;
}
print(secondForLoop);
swift 2.x學習筆記(二)