现在的位置: 首页 > 综合 > 正文

Swift 基础语法二

2018年02月16日 ⁄ 综合 ⁄ 共 1378字 ⁄ 字号 评论关闭
// Playground - noun: a place where people can play

import Cocoa

//控制流

//Swift的条件语句包括if和switch,循环语句包含for-in、for、while和do-while,循环/判断条件不需要括号,但循环/判断体(body)必需括号:
let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores {
    if score > 50 {
        teamScore += 3
    }else{
        teamScore += 1
    }
}

//可空类型
//结合if和let,可以方便的处理可空变量(nullable variable)。对于空值,需要在类型声明后添加?显示标明该类型可空。
var optionalString: String? = "Hello"
optionalString = nil

var optionalName: String? = "John Applesed"
var gretting = "Hello!"
if let name = optionalName{
    gretting = "Hello, \(name)"
}

//灵活的switch
let vegetable = "red pepper"
switch vegetable {
    case "celery":
        let vegetableComment = "Add som raisins and make ants on a log."
    case "cucumber","watercress":
        let vegetableComment = "That would make a good tea sandwich."
    case let x where x.hasSuffix("pepper"):
        let vegetableComment = "Is it a spicy \(x)?"
    default:
        let vegetableComment = "Everything tastes good in soup."
}

//其他循环
//for-in 除了遍历数组也可以用来遍历字典
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
for(kind, numbers) in interestingNumbers{
    for number in numbers{
        if number > largest{
            largest = number
        }
    }
}

//while循环和do-while循环
var n = 2
while n < 100 {
    n = n * 2
}
n

var m = 2
do{
    m = m * 2
}while m < 100
m


//Swift支持传统的for循环,此外也可以通过结合..(生成一个区间)和for-in实现同样的逻辑
var firstForLoop = 0
for i in 0..3{
    firstForLoop += i
}
firstForLoop

var secondForLoop = 0
for var i = 0; i < 3; ++i{
    secondForLoop += 1
}
secondForLoop
//注意:Swift除了..还有... 其中..生成前闭后开的区间,而...生成前闭后闭的区间。
var third = 0
for i in 0...3 {
    third += i
}
third

抱歉!评论已关闭.