print(“helllo world”)
-
不用编写main函数
,Swift将全局范围内的首句可执行代码作为程序入口 -
一句
代码尾部可以省略分号
(;),多句
代码写到一行时必须用分号
(;)隔开 - 用
var
定义变量
,let
定义常量
,编译器能自动推断出变量和常量的类型
let a = 10
let b = 20
var c = a + b
c += 30
常量
只能赋值1次
- 它的值
不要求在编译时期确定
,但使用之前必须赋值1次- 常量、变量在
初始化之前,都不能使用
/// 这是正确的写法
/// 以下两种也是正确的写法
/// let age = 10
/// let age:Int = 10
let age:Int
age = 10
/// 这是错误的写法
/// 因为常量不能再没有声明类型的时候,赋值
let age
age = 10
/// 不要求在编译时期确定其值
func getAge() -> Int {
return 10
}
let age = getAge()
print(age)
/// 在初始化之前,不能被使用
let age:Int
var height:Int
/// 以下编译时都会报错
print(age)
print(height)
标识符
标识符(比如常量名、变量名、函数名)几乎可以使用任何字符
标识符不能以数字开头,不能包含空白字符、制表符、箭头等特殊字符
常见的数据类型
值类型(value type):
枚举(enum)
:Optional
结构体(struct)
:Bool、Int、Float、Double、Character、String、Array、Dictionary、Set引用类型(reference type):
类(class)
整数
类型:
Int8、Int16、Int32、Int64、UInt8、UInt16、UInt32、UInt64
在32bit平台,Int等价于Int32,在64bit平台,Int等价于Int64
整数的最值:UInt8.max
、UInt8.min
一般情况下,都是直接写Int即可
浮点
类型:
Float
,32位,精度只有6位
Double
,64位,精度至少15位
let letFloat: Float = 30.0
let letDouble = 30.0
字面量
/// 布尔类型
let bool = true
/// 字符串
let String = "hahahaha"
/// 字符
let chat:Character = "a"
/// 整数
/// 十进制
let intDecimal = 17
/// 二进制
let intBinary = 0b1001
/// 八进制
let intOctal = 0o21
/// 十六进制
let intHexadectmal = 0x11
/// 浮点类型
/// 十进制,等价于1.25e2
/// 0.0125 等价于1.25e-2
let doubleDecimal = 125.0
/// 十六进制,意味着15x2^2,相当于十进制的60.0
let doubleHexadecimal1 = 0xFp2
/// 十六进制,意味着15x2^-2,相当于十进制的3.75
let doubleHexadecimal2 = 0xFp-2
/// PS:整数和浮点数可以添加额外的零或者下划线来增加可读性
/// 100_0000、1_000_000.000_000_1、000123.456
/// 数组
let array = [1,3,5,7,9]
/// 字典
let dictionary = ["age":18,"height":168,"weight":120]
类型转换
/// 整数转换
/// Int1 和 Int2 不能直接相加,因为它们的数据类型不同
let Int1:Uint16 = 2000
let Int2:UInt8 = 1
let Int3 = Int1 + UInt16(Int2)
/// 整数、浮点数转换
let int = 3
let double = 0.14159
let pi = Double(int) + double
let intPi = Int(pi)
/// 字面量可以直接相加,因为数字字面量本身没有明确类型
let result = 3 + 0.14159
元组
let http404Error = (404,"Not Found")
print("The status code is \(http404Error.0)")
let (statusCode,statusMessage) = http404Error
print("The status code is \(statusCode)")
/// _ 表示忽略其值
let (justTheStatusCode,_) = http404Error
let http200Status = (statusCode:200,description:"OK")
print("The status code is \(http200Status.statusCode)")
网友评论