当前位置: 代码迷 >> 综合 >> Swift5.0笔记 - 1. 基础语法
  详细解决方案

Swift5.0笔记 - 1. 基础语法

热度:32   发布时间:2024-03-07 05:16:15.0

1. 书写格式

  1. 一句代码尾部可以省略“;”,多句代码写到同一行时必须用“;”分开。
print("Hello,World");print("test")
  1. var定义变量,let定义常量;编译器可以自动推断出变量、常量的类型。
var a = 10
a = 20
let b = 30print(a)
print(b)
print("Hello world \(a)")
  1. 自动判断类型的前提:定义的时候就已经赋值了;
let age = 10 
  1. 否则在定义的时候要指定类型.
let age: Int
age = 10

2. 常量

  • 只能赋值一次;
  • 它的值不要求在编译时期确定,但使用之前必须赋值一次;
var num = 10
num += 20
num += 30
let age = num
print(age)

3. 标示符

  • 标示符(比如说常量名、变量名、函数名)几乎可以使用任何字符;
  • 标示符不能以数字开头,不能包含空白字符、制表符、箭头等特殊字符;
func ??() {print("666")
}
??()let ? = "花"

4. 常见的数据类型

只有两种类型:值类型(value type) 和 引用类型(reference type)

  • 值类型:

    • 枚举(enum):Optional
    • 结构体(struct): BoolIntFloatDoubleCharacterStringArrayDictionarySet;
  • 引用类型:

    • 类(class):
  • 整数类型:Int8Int16Int32Int64UInt8UInt16UInt32UInt64;

  • 一般情况下,都是直接用Int即可;

  • 整数的最值:UInt8.maxUIt16.min;

  • 浮点类型:Float,32位,精度只有6位;Double,64位,精度至少15位;

    • Double直接赋值就可以了,默认为double;
    • Float 需要写清楚类型;
let letFloat: Float = 30.0
let letDouble = 30.0

5. 字面量

1). 布尔

let bool01 = true //取反是false

2). 字符串

let string01 = "字符串"

3). 字符(可存储ASCII字符、Unicode字符)

  • 注意:需要指定类型,否则会按字符串处理
let chaacter01: Character = "a"

4). 整数

let intDecimal = 17 //十进制
let intBinary = 0b10001 //二进制
let intOctal = 0o21 //八进制
let intHexadecimal = 0x11 //十六进制
  • 整数和浮点数可以添加额外的零或者添加下滑线来增强可读性
  • 100_0000、1_000_000.000_000_1、000123456

5). 数组

let array = [1,3,5,7,9]

6). 字典

let dictionary = ["age": 18, "height": 185, "height": 70]

6. 类型转换

  • 整数转换
    • 要将低类型转为高类型
let int1: UInt16 = 2_000
let int2: UInt8 = 1
let int3 = int1 + UInt16(int2)
  • 整数、浮点数转换
let int01 = 3
let double01 = 0.1415
let pi = Double(int01) + double01
let intPi = Int(pi)
  • 字面量可以直接相加,因为数字字面量本身没有明确的类型
let result = 3 + 0.1315

7. 元组(tuple)

  • 多种数据类型组合在一起
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)")