您所在的位置: 首页 > 教程首页 > 新闻资讯 > 苹果Swift语言入门教程

苹果Swift语言入门教程

来源:互联网 | 编辑:啤酒 | 时间:2014-06-03 20:28:33 | 阅读:16777215

let vegetable = "red pepper"

switch vegetable {

case "celery":

let vegetableComment = "Add some 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: //by gashero

let vegetableComment = "Everything tastes good in soup."

}

Note

练习

尝试去掉 default ,看看得到什么错误。

在执行匹配的情况后,程序会从 switch 跳出,而不是继续执行下一个情况。所以不再需要 break 跳出 switch 。

可使用 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

}

}

}

Note

练习

添加另一个变量来跟踪哪个种类中的数字最大,也就是最大的数字所在的。

使用 while 来重复执行代码块直到条件改变。循环的条件可以放在末尾来确保循环至少执行一次。

var n = 2

while n < 100

{

n = n * 2

}

n

var m = 2

do {

m = m * 2

}

while m < 100

m

你可以在循环中保持一个索引,通过 ".." 来表示索引范围或明确声明一个初始值、条件、增量。这两个循环做相同的事情:

var firstForLoop = 0

for i in 0..3 {

firstForLoop += i

}

firstForLoop

var secondForLoop = 0

for var i = 0; i < 3; ++i {

secondForLoop += 1

}

secondForLoop

使用 .. 构造范围忽略最高值,而用 ... 构造的范围则包含两个值。

5   函数与闭包

使用 func 声明一个函数。调用函数使用他的名字加上小括号中的参数列表。使用 -> 分隔参数的名字和返回值类型。

func greet(name: String, day: String) -> String {

return "Hello \(name), today is \(day)."

}

greet("Bob", "Tuesday")

Note

练习

去掉 day 参数,添加一个参数包含今天的午餐选择。

使用元组(tuple)来返回多个值。

func getGasPrices() -> (Double, Double, Double) {

return (3.59, 3.69, 3.79)

}

getGasPrices()

函数可以接受可变参数个数,收集到一个数组中。

func sumOf(numbers: Int...) -> Int {

var sum = 0

for number in numbers {

sum += number

}

return sum

}

sumOf()

sumOf(42, 597, 12)

Note

练习

编写一个函数计算其参数的平均值。

函数可以嵌套。内嵌函数可以访问其定义所在函数的变量。你可以使用内嵌函数来组织代码,避免过长和过于复杂。

func returnFifteen() -> Int {

var y = 10

func add()

{

y += 5

}

add()

return y

} //by gashero

returnFifteen()

函数是第一类型的。这意味着函数可以返回另一个函数。

你可能感兴趣的内容

  • 2021支付宝蚂蚁庄园小课堂8月16日每日一题答案一览
    2021支付宝蚂蚁庄园小课堂8月16日每日一题答案一览
    1、夏天出汗多,每次洗澡得多用几次沐浴露,这种做法?2、所有“脱发人士”都适合做植发手术吗?这里52z飞翔网小编为大家带来2021支付宝蚂蚁庄园小课堂8月16日每日一题答案一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-08-16

  • 2021山东高考分数线全批次一览
    2021山东高考分数线全批次一览
    2021山东高考分数线是多少?本科分数线是多少?还不清楚的小伙伴看过来,这里52z飞翔网小编为大家带来2021山东高考分数线全批次一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-06-28

  • 2021福建高考分数线全批次一览
    2021福建高考分数线全批次一览
    2021福建高考分数线是多少?本科分数线是多少?还不清楚的小伙伴看过来,这里52z飞翔网小编为大家带来2021福建高考分数线全批次一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-06-28

  • 2021浙江高考分数线全批次一览
    2021浙江高考分数线全批次一览
    2021浙江高考分数线是多少?本科分数线是多少?还不清楚的小伙伴看过来,这里52z飞翔网小编为大家带来2021浙江高考分数线全批次一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-06-28

  • 2021宁夏高考分数线全批次一览
    2021宁夏高考分数线全批次一览
    2021宁夏高考分数线是多少?本科分数线是多少?还不清楚的小伙伴看过来,这里52z飞翔网小编为大家带来2021宁夏高考分数线全批次一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-06-25

  • 2021青海高考分数线全批次一览
    2021青海高考分数线全批次一览
    2021青海高考分数线是多少?本科分数线是多少?还不清楚的小伙伴看过来,这里52z飞翔网小编为大家带来2021青海高考分数线全批次一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-06-25

  • 2021甘肃高考分数线全批次一览
    2021甘肃高考分数线全批次一览
    2021甘肃高考分数线是多少?本科分数线是多少?还不清楚的小伙伴看过来,这里52z飞翔网小编为大家带来2021甘肃高考分数线全批次一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-06-25

  • 2021陕西高考分数线全批次一览
    2021陕西高考分数线全批次一览
    2021陕西高考分数线是多少?本科分数线是多少?还不清楚的小伙伴看过来,这里52z飞翔网小编为大家带来2021陕西高考分数线全批次一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-06-25

  • 2021西藏高考分数线全批次一览
    2021西藏高考分数线全批次一览
    2021西藏高考分数线是多少?本科分数线是多少?还不清楚的小伙伴看过来,这里52z飞翔网小编为大家带来2021西藏高考分数线全批次一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-06-25

  • 2021云南高考分数线全批次一览
    2021云南高考分数线全批次一览
    2021云南高考分数线是多少?本科分数线是多少?还不清楚的小伙伴看过来,这里52z飞翔网小编为大家带来2021云南高考分数线全批次一览的详细介绍!有兴趣的小伙伴不要错过喔!

    新闻资讯

    2021-06-25

热门游戏

下载声明 | 法律声明 | 版权声明 | 友情链接 | 发布软件 | 最新更新

本站为非盈利性网站,不接受任何广告。本站所有资源均由网友上传,如有侵权,请发邮件至 hnrshwl@163.com

晋ICP备2024046785号-1