[极速Swift教程之一] 简单类型

更多内容欢迎关注公众号:Swift花园

变量


当你启动Xcode时,它会询问你想要作的事情,选择"Get Started with a Playground"。Playground是一个能够供你输入Swift代码并当即看到结果的沙盒环境。编程

默认的,Xcode将提供一个iOS编程环境的空白Playground, 点击Next,而后再点击Create,将Playground保存到你的系统桌面。swift

在本文中,我将向你介绍“变量”,它们是你用来存储程序数据的地方。之因此被称为“变量”,是由于它们可变,即你能够自由地改变它们的值。安全

咱们将从在Playground中的第一行代码开始了解“变量”,它是一行建立了一个名称为“str”, 值为“Hello, playground”的字符串变量的代码bash

var str = "Hello, playground"复制代码

这行代码建立了一个名为str的新变量, 并给它赋值为“Hello, playground”。在Playground右侧的输出区域你能够看到“Hello, playground” – 这是Xcode在展现咱们刚刚给str设置的值。编程语言

既然str是一个变量,咱们就能够改变它:测试

str = "Goodbye"复制代码

第二次的时候,你不须要再写一次var,由于这个变量在前面已经被建立过了 – 咱们只须要改变它。ui

字符串和整型


Swift是一门类型安全的编程语言,类型安全特指的含义包括:每个变量都必须有一个特定的“类型”。Xcode为咱们建立的str变量拥有一个由字母组合“Hello, playground”组成的字符串,因此Swift为这个变量赋予了String类型。spa

换句话说,若是咱们想存储一我的的年龄,那咱们可能须要建立这样一个变量:翻译

var age = 38复制代码

这个变量拥有一个整数, 因此Swift赋予它Int类型 – Int是“integer”的简写。若是你的数比较大,Swift容许使用下划线做为千位分隔符。这些分隔符不会改变数字表明的绝对数值,它们只是让数字阅读起来更方便。code

例如:

var population = 8_000_000复制代码

String和Int是不一样的类型,不能混用。所以,你能够把str的值改为“Goodbye”,但你不能把它改为38,由于38是一个Int类型,不是一个String类型。

多行字符串


标准的Swift字符串使用双引号表示,但在双引号之间你不能换行。若是你想要表示多行的字符串,须要使用将双引号首尾的引号个数由一个改为三个,就像下面这样:

var str1 = """ 这个字符串 跨越了 多行 """复制代码

Swift对于书写这些引号有着特别的规定:开始的三个引号和结束的三个引号都必须独占一行,但它们占的那两行都不会算进最终的字符串里。假如你只是想利用多行字符串来使代码看起来更整洁,你能够经过在每行的行尾添加一个\来确保换行不会进入最终的字符串, 就像这样:

var str2 = """ 这个字符串 \ 看起来跨越了多行, \ 实际上没有 """复制代码

双精度浮点型和布尔型


Swift中还有两种基础的数据类型,它们是双精度浮点数类型和布尔类型,你将会常常用到它们。”Double”被用来表明“双精度浮点数”,这是表示诸如38.1, 或者3.141592654这样的小数的一种高级的说法。每当你经过一个分数建立一个变量时,Swift都会自动赋予这个变量Double类型。

举个例子:

var pi = 3.141复制代码

双精度浮点数有别于整数,也不能混用。至于布尔类型则更简单一些:它们只有true和false两种值,因此当你用true或者false建立一个变量时,Swift会自动赋予这个变量布尔类型


举个例子:

var awesome = true复制代码

字符串插值


你已经在前面学到了如何在代码中直接输入字符串的值,不过Swift还提供了一种被称为“字符串插值”的特性。这个特性容许你在字符串值里插入变量,从而动态地给一个String类型的变量赋值。在字符串内部,你能够放置任意类型,任意数量的变量。 要放置这些变量,你须要以一个反斜杠开始,即\,而后跟上用圆括号包起来的变量名。

举个例子:

var score = 85 var str = "你的分数是\(score)"复制代码

你将会在Playground的输出区域里看到,上面的操做会把 str变量的值设置为“你的分数是85”。


多尝试几回,经过字符串插值组合出任何你想要的字符串。

var results = "测试结果以下: \(str)"复制代码

在以后你还会学到,字符串插值不只能够用来放置变量,还能够用来运行代码。

常量


前面提到变量之因此被称为变量是由于你能够随着时间的推移改变它们,这一点很是有用。不过,有些时候你只须要设置一次值而后就再也不改变了,这种状况下咱们使用常量。对应给变量用的var关键字,常量用let关键字表示。let关键字用来声明常量,常量的值只能被设置一次,而且没法被修改。

举个例子:

let taylor = "swift"复制代码

若是你尝试改变常量的值,Xcode会拒绝运行你的代码。这是一种安全机制,以防止你失手改变一些原本不该该被改变的东西。在书写Swift代码的时候,除非你明确想要改变,你应当尽可能使用let关键字。实际上,若是你用了var声明变量但以后都没有再对它进行改变,Xcode将会发出警告。

类型注解


Swift基于变量和常量在建立时被赋予的值为它们分配了一个类型。所以,当你书写以下的代码时,Swift知道这里面包含了一个字符串:

let str = "Hello, playground"复制代码

它将把str看成一个String类型,所以以后你就不能再给它赋值一个整数值或者布尔值。 这个过程被称为类型推断。SwiftSwift可以基于你建立一个东西的方式来推断它的类型。
若是你想显式地声明数据的类型而不是依赖Swift的类型推断,你能够这么写:

let album: String = "Reputation" 
let year: Int = 1989 
let height: Double = 1.78 
let is: Bool = true复制代码

留心布尔类型的缩写名是Bool,一样地,整数类型也是采用缩写的Int。

总结


让咱们来总结一下。

  • 咱们使用var来建立变量,使用let来建立常量。如无必要使用变量,应当尽量地使用常量。
  • String类型一般以双引号来开始和结束。若是你想要字符串可以跨越多行,则须要把引号替换为三个。
  • Int类型存储整数,Double存储小数,而Bool则存储true或者false。
  • 字符串插值容许你经过在字符串内部放置其余的变量和常量的方式来建立新的字符串。
  • Swift经过类型推断来给变量或者常量分配类型,不过你也能够显式地提供类型。

个人公众号

这里有Swift及计算机编程的相关文章,以及优秀国外文章翻译,欢迎关注~

相关文章
相关标签/搜索