1、我的第一个Swift程序
传统表明,用新语言编写的第一个程序应该在屏幕上打印“Hello,world!”。在Swift中,这可以在一行中完成:
在Swift中,这行代码是一个完整的程序。您不需要为输入/输出或字符串处理等功能导入单独的库。在全局范围编写的代码被用作程序的入口点,所以你不需要一个main()
函数。您也不需要在每个语句的末尾都写分号。
2、常量和变量
使用let
做一个常数,var是
一个变量。在编译时不需要知道常量的值,但必须为其赋值一次。这意味着您可以使用常量来命名一次您确定一次但在许多地方使用的值。
常量或变量必须与要分配给它的值具有相同的类型。但是,您并不总是必须明确地写出类型。在创建常量或变量时提供值可让编译器推断其类型。在上面的例子中,编译器推断这myVariable
是一个整数,因为它的初始值是一个整数。
如果初始值没有提供足够的信息(或者没有初始值),请在变量之后写入,并用冒号分隔来指定类型。
3、值类型
值永远不会被隐式转换为另一种类型。如果您需要将值转换为其他类型,请显式创建所需类型的实例。
4、在字符串中包含值的方法更为简单:将值写入括号中,并在括号\
之前写入反斜杠()。
"""
对于占用多行的字符串 使用三个双引号()。只要符合收尾引号的缩进,每个引用行开头的缩进就会被删除。
5、数组和字典
创建一个空数组或字典,请使用初始化程序语法。
let emptyArray = [String]()
let emptyDictionary = [String:Float]()
使用括号([]
)创建数组和字典,并通过将括号中的索引或键写入它们来访问它们的元素。在最后一个元素之后允许逗号。
1、使用if
和switch
制作条件语句 , 使用for
- in
,while
和repeat
- while
进行循环。 条件或循环变量的括号是可选的。身体周围的括号是必需的。
在if
声明中,条件必须是一个布尔表达式 - 这意味着代码如if score { ... }
错误,而不是隐式比较为零。
2、可选值
使用if
并let
一起使用表示可能缺失的值。这些值表示为可选项。可选值包含值或包含nil
以指示缺少值。在值的类型后面写一个问号?()以将该值标记为可选。
处理可选值的另一种方法是使用??
运算符提供默认值。如果可选值缺失,则使用默认值。
let nickName:String? = nil
let fullName:String = "John Appleseed"
let informalGreeting = "Hi \(nickName ??fullName)"
3、交换机支持任何种类的数据和各种比较操作 - 它们不限于整数和相等性测试。
请注意,如何在let
模式中使用将与之模式匹配的值分配给常量。
在匹配的switch case内部执行代码后,程序从switch语句中退出。执行不会延续到下一个案例,因此不需要在每个案例的代码末尾显式地跳出交换机。
4、字典中的for-in
for
- in
通过提供一对用于每个键值对的名称来迭代字典中的项目。字典是无序集合,所以它们的键和值以任意顺序迭代。
使用while
重复的代码块,直到完成变化。循环的条件可以在最后,确保循环至少运行一次。
使用func
声明函数。通过使用括号中的参数列表跟随其名称来调用函数。使用func
声明函数。通过使用括号中的参数列表跟随其名称来调用函数。用 ->
从函数的返回类型中分离参数名称和类型。
默认情况下,函数使用它们的参数名称作为其参数的标签。在参数名称之前写入自定义参数标签,或写入 _
以使用不带参数标签。
2、函数与元组
使用一个元组来创建一个复合值 - 例如,从一个函数返回多个值。元组的元素可以通过名字或数字来引用。