100 Days of SwiftUI

100 Days of SwiftUI - Day 1 简单数据

2020-09-10  本文已影响0人  星星星宇

1.Variables

使用Xcode新建一个playground文件,Xcode已经为我们创建了一个变量

var str = "Hello, playground"

为变量更改一个值

str = "Goodbye"

Question:为什么Swift有变量?

程序以某种方式获取数据,并以某种方式对数据进行转换,并将其显示给用户,”以某种方式进行转换“正是魔力所在。
当使用var创建一个变量后,你可以改变它而无需再次创建一个变量。
但有时候使用变量并不是最好的方式,后面我们再讨论它。

2.Strings and integers

Swift 是一种类型安全的语言,这意味着每个变量必须属于一个特定的类型,上面的str创建时包含”Hello, playground",因此Swift为其指定了String类型。

var age = 18

age包含一个整数,因为分配了类型Int。

字符串和整数是不同的类型,不能混合使用。因此,虽然可以安全地更改str为“Goodbye”,但我不能将其设置为18,因为18是Int而不是一个String类型。

Question:为什么Swift是一种类型安全的语言?

age = "18"

age变量是一个整数类型,可以更改其值,但是不能更改类型,所以将字符串分配给整数变量是不允许的。尽管我们很少犯这样明显的错误,但是您会发现这种类型的安全性可以帮助您每天用Swift编写代码。

想想看:我们只是创建了一个变量,然后试图更改其类型,这显然会失败。但是随着程序规模和复杂性的增长,不可能始终将变量的类型保持在头脑中,因此我们正在有效地将工作转移到Swift上。

3.Multi-line strings

需要多行字符串时可以用以下方式

var str1 = """
This goes
over multiple
lines
"""
var str2 = """
This goes \
over multiple \
lines
"""

如果只想格式化代码,在末尾添加\,便不会出现换行符。

4.Doubles and Booleans

var pi = 3.141
var awesome = true

Question:为什么Swift既需要Doubles又需要Integers?

Swift提供了几种存储数字的方式,旨在解决不同的问题。Swift不允许它们混合在一起,因为这样做会导致问题。

5.String interpolation

var score = 85
var str = "Your score was \(score)"

实际上字符串插值不限于放置变量,还可以在其中运行代码。

Question:Swift为什么要进行字符串插值?

当需要向用户显示信息时(无论是打印消息,按钮上的文本还是适合您的应用想法的信息),您通常会严重依赖字符串。
当然,我们不仅仅需要静态字符串,因为我们想向用户展示他们可以使用的某种相关数据。因此,Swift为我们提供了字符串内插,作为在运行时将自定义数据注入字符串的一种方式:它用我们提供的数据替换了字符串的一个或多个部分。

6.Constants

let taylor = "swift"

除非要改变值,你应该始终使用常量。

Question:为什么Swift既有常量又有变量?

如果创建了一个变量,但从不更改其值,建议使用常量。这样做还可以避免问题,定义随时随地可以更改的变量,你将失去控制权,
因此在某个时候数据可能被更改或者替换掉。
使用常量,Swift可以确保值永远不变,你不必担心某些情况下值被改变的问题。

7. Type annotations

类型推断:Swift能够根据创建方式来推断事物的类型。
有时候你可以显示的提供类型。

let album: String = "Reputation"
let year: Int = 1989
let height: Double = 1.78
let taylorRocks: Bool = true

明确说明数据的类型,而不是依赖Swift的类型推断

Question:为什么Swift有类型注解?
1.Swift无法推断出应该用哪种类型。
2.希望Swift使用与其默认类型不同的类型。
3.你不想给变量分配一个值。

第一种,例如,当从internet加载一些数据,而你知道该数据是名字,而Swift无法提前知道,所以你应该告诉它。
第二种,正在创建一个Double变量,不必写入.0

var percentage: Double = 99

虽然我们分配了一个整数,但是类型注释表明了percentage类型为Double,
第三种

var name: String

另一个问题什么时候该使用类型注解?
这可能取决于你的代码风格。

8.简单类型总结

1.您可以使用var和创建常量let。最好尽可能多地使用常量。
2.字符串以双引号开头和结尾,但是如果希望它们跨多行运行,则应使用三组双引号。
3.整数保存整数,双精度数保留小数,布尔值保留真或假。
4.字符串插值允许您从其他变量和常量创建字符串,并将其值放在字符串中。
5.Swift使用类型推断为每个变量或常量分配类型,但是您可以根据需要提供显式类型。

上一篇 下一篇

猜你喜欢

热点阅读