赞
踩
Welcome to Swift 中的A Swift Tour部分
https://docs.swift.org/swift-book/documentation/the-swift-programming-language/guidedtour
传统上,新语言的第一个程序应该打印“Hello, world!”,在屏幕上。在Swift中,这可以在一行中完成:
print("Hello, world!")
如果您了解其他语言,那么这个语法应该看起来很熟悉——在Swift中,这行代码是一个完整的程序。您不需要为输出文本或处理字符串等功能导入单独的库。在全局范围内编写的代码用作程序的入口点,因此不需要main()函数。您也不需要在每个语句的末尾写分号。
本教程通过向您展示如何完成各种编程任务,为您提供了足够的信息来开始用Swift编写代码。如果你不懂什么也不用担心——本书的其余部分会详细解释本指南中介绍的所有内容。
使用let来创建常量,使用var来创建变量。在编译时不需要知道常量的值,但必须只给它赋一次值。这意味着您可以使用常量来命名一次确定但在许多地方使用的值。
var myVariable = 42
myVariable = 50
let myConstant = 42
常量或变量必须具有与要分配给它的值相同的类型。但是,您不必总是显式地编写类型。在创建常量或变量时提供值可以让编译器推断其类型。在上面的例子中,编译器推断myVariable是一个整数,因为它的初始值是一个整数。
如果初始值不能提供足够的信息(或者没有初始值),那么通过将其写在变量后面,用冒号分隔来指定类型。
let implicitInteger = 70
let implicitDouble = 70.0
let explicitDouble: Double = 70
实验
创建一个显式类型为Float且值为4的常量。
let explicitDouble: Double = 4
- 1
值永远不会隐式转换为另一种类型。如果需要将值转换为不同的类型,请显式地创建所需类型的实例。
let label = "The width is "
let width = 94
let widthLabel = label + String(width)
实验
尝试从最后一行删除到String的转换。得到什么错误?
let label = "The width is " let width = 94 let widthLabel = label + width # error
- 1
- 2
- 3
note: overloads for '+' exist with these partially matching parameter lists: note:'+'的重载存在于这些部分匹配的参数列表中: (Int, Int), (String, String) let widthLabel = label + width
- 1
- 2
- 3
- 4
在字符串中包含值还有一种更简单的方法:将值写在括号中,并在括号前写一个反斜杠()。例如:
let apples = 3
let oranges = 5
let appleSummary = "I have \(apples) apples."
let fruitSummary = "I have \(apples + oranges) pieces of fruit."
实验
使用()来包含一个浮点数
let scores: Double = 3.5 let scoresSummary = "I have \(scores) scores." print(scoresSummary)
- 1
- 2
- 3
I have 3.5 scores.
- 1
对于占用多行的字符串,使用三个双引号(“”")。只要与结束引号的缩进匹配,每个引号行开头的缩进就会被删除。例如:
let quotation = """
Even though there's whitespace to the left,
the actual lines aren't indented.
Except for this line.
Double quotes (") can appear without being escaped.
I still have \(apples + oranges) pieces of fruit.
"""
使用括号([])创建数组和字典,并通过在括号中写入索引或键来访问它们的元素。最后一个元素后面可以有逗号。
var fruits = ["strawberries", "limes", "tangerines"]
fruits[1] = "grapes"
var occupations = [
"Malcolm": "Captain",
"Kaylee": "Mechanic",
]
occupations["Jayne"] = "Public Relations"
数组会随着添加元素而自动增长。
fruits.append("blueberries")
print(fruits)
// Prints "["strawberries", "grapes", "tangerines", "blueberries"]"
还可以使用括号编写空数组或字典。对于数组,写入[],对于字典,写入[:]。
fruits = []
occupations = [:]
如果将一个空数组或字典赋值给一个新变量,或者赋值给另一个没有任何类型信息的地方,则需要指定类型。
let emptyArray: [String] = []
let emptyDictionary: [String: Float] = [:]
使用if和switch来创建条件,使用for-in、while和repeat-while来创建循环。条件或循环变量周围的括号是可选的。身体周围需要支架。
let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores {
if score > 50 {
teamScore += 3
} else {
teamScore += 1
}
}
print(teamScore)
// Prints "11"
在if语句中,条件必须是布尔表达式——这意味着诸如if score{…}是一个错误,而不是与零的隐式比较。
您可以在赋值的等号(=)之后或在返回之后写入if或switch,以根据条件选择一个值。
let scoreDecoration = if teamScore > 10 {
"声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/秋刀鱼在做梦/article/detail/807150
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。