1)查看 Swift 版本
在终端中输入xcrun swift -version
,等待结果...
****@MacBook-Pro ~ % xcrun swift -version
swift-driver version: 1.87.1 Apple Swift version 5.9 (swiftlang-5.9.0.128.108 clang-1500.0.40.1)
Target: x86_64-apple-macosx14.0
2)基础数据类型
与其他编程语言差不多,都会提供基本的数据类型,以下列出了常用了几种数据类型:
Int
一般情况下不需要专门指定整数的长度。可以使用整数类型Int
,其长度与当前平台的原生字长相同:
- 在32位平台上,
Int
和Int32
长度相同。 - 在64位平台上,
Int
和Int64
长度相同。
一般情况下使用Int
就可以应付很多场景,Int
可以存储的整数范围也可以达到-2,147,483,648
~ 2,147,483,647
,在一般的场景下这么大的数字是够用了。
UInt
同样,Swift 也提供了无符号类型UInt
,长度与当前平台的原生字长相同:
- 在32位平台上,
UInt
和UInt32
长度相同。 - 在64位平台上,
UInt
和UInt64
长度相同。
浮点数:Float、Double
浮点数是有小数部分的数字,比如 3.1415925
,0.1
。
浮点类型比整数类型表示的范围更大,可以存储比 Int
类型更大或者更小的数字。Swift 提供了两种有符号浮点数类型:
- Double 表示64位浮点数。当你需要存储很大或者很高精度的浮点数时请使用此类型。
- Float 表示32位浮点数。精度要求不高的话可以使用此类型。
Double
精确度很高,至少有15位数字,而Float
最少只有6位数字。选择哪个类型取决于你的代码需要处理的值的范围。
布尔值:Bool
Swift 有一个基本的布尔(Boolean)类型,叫做 Bool。布尔值指逻辑上的值,因为它们只能是真或者假。Swift 有两个布尔常量,true 和 false。
字符串:String
字符串是字符的序列集合,例如:
"Hello, World!"
字符:Character
字符指的是单个字母,例如:
"C" // 注意,是双引号
数值范围
下表显示了不同变量类型内存的存储空间,及变量类型的最大最小值:
类型 | 大小(字节) | 区间值 |
---|---|---|
Int8 | 1 字节 | -128 到 127 |
UInt8 | 1 字节 | 0 到 255 |
Int32 | 4 字节 | -2147483648 到 2147483647 |
UInt32 | 4 字节 | 0 到 4294967295 |
Int64 | 8 字节 | -9223372036854775808 到 9223372036854775807 |
UInt64 | 8 字节 | 0 到 18446744073709551615 |
Float | 4 字节 | 1.2E-38 到 3.4E+38 (~6 digits) |
Double | 8 字节 | 2.3E-308 到 1.7E+308 (~15 digits) |
3)变量,常量
变量
变量是一种使用方便的占位符,用于引用计算机内存地址,每个变量都指定了特定的类型,该类型决定了变量占用内存的大小,不同的数据类型也决定可存储值的范围。 变量声明意思是告诉编译器在内存中的哪个位置上为变量创建多大的存储空间。
在使用变量前,你需要使用 var 关键字声明它,如下所示:
var 变量名:数据类型 = <初始值> // 数据类型可以忽略,即根据<初始值>推导
简单实例:
import Swift
var varA = 42
print(varA)
var varB:Float
varB = 3.14159
print(varB)
常量
常量与变量相似,区别在于常量的值一旦设定就不能改变,而变量的值可以随意更改。
let 变量名:数据类型 = <初始值> // 数据类型可以忽略,即根据<初始值>推导
简单实例:
import Swift
let constA = 42
print(constA)
变量和常量的命名
- 变量名可以由字母,数字和下划线组成。
- 变量名需要以字母或下划线开始。
- Swift 是一个区分大小写的语言,所以字母大写与小写是不一样的。
- 变量名也可以使用简单的 Unicode 字符,如下实例
import Swift
var _var = "Hello, Swift!"
var _Var = "Hello, World!"
var 你好 = "你好世界"
打印变量、常量类型
使用 type方法
import Swift
var a: Int = 10
var b: Float = 1.2
var c: Double = 1.5
let d: Bool = false
let e: Character = "A"
let f: String = "Hello world"
print(type(of: a))
print(type(of: b))
print(type(of: c))
print(type(of: d))
print(type(of: e))
print(type(of: f))