本文主要用于需要快速了解 Swift 的基础知识包含五大块:,我来为大家科普一下关于swift结算系统想踢就踢嘛?以下内容希望对你有帮助!

swift结算系统想踢就踢嘛(三十分钟快速了解)

swift结算系统想踢就踢嘛

本文主要用于需要快速了解 Swift 的基础知识。包含五大块:

推荐大家用 Xcode 的 Playground 来了解、练习 Swift 的基础知识。

本文内容基于 Swift 5.3.

变量常量

在 Swift 中,通过 let 来声明常量,var 来声明变量。

let

用 let 修饰的常量赋值后不可修改。

let name = "Swift" // 这句代码会报错:Cannot assign to value: 'name' is a 'let' constant name = "Objective-C"

var

用 var 修饰的变量在赋值后仍可以修改它的值。

var age = 2012 age = 2011

Tips: Swift 是可以自动进行类型推断的,Compiler 会根据你的赋值自动推断其类型。所以在声明常量或变量的时候可以不写其类型。

比如下面的代码是等效的:

var age = 2012 var age: Int = 2012

如何选择使用

• 如果代码中存储的值不需要改变,则使用 let。

• 如果代码中存储的值需要改变,则只用 var。

• 如果代码中存储的值不确定是否需要改变,优先使用 let,后续变更可再改为 var。因为这样能更好的保持代码的健壮性。

if、for、whileif

if 后的判断条件不需要写小括号。

let age = 18 if age < 18 { print("Denied") } else { print("Allow") }

for

在 Swift 中,弃用了 for(int i = 0; i <= 10, i ) 这种方式,而是采取了更加简洁的 for-in 。

// 0...10 等价于 [0...10] for i in 0...10 { print(i) } // 0...10 等价于 [0...10) for i in 0..<10 { print(i) }

while

var count = 10 while count > 0 { print(count) count -= 1 }

需要特别指出的是:Swift 不支持 count-- 或 --count 这种语法,因为这种代码比较容易出错,且不易于阅读。

函数

通过 func 关键字来声明函数。

// 无参无返回值 func doSomething() { } // 有参无返回值 func doSomething(parameter: Int) { } // 多个参无返回值。parameter1 、parameter2 只为示意,真实项目中的代码不要这样命名。 func doSomething(parameter1: Int, parameter2: Int) -> Int { return 0 } // 有参有返回值 func doSomething(parameter: Int) -> Int { return 0 }

func doSomething(parameter: inout Int) { }

func doSomething(parameter: Int) { } doSomething(parameter: 10) func doSomething1(_ parameter: Int) { } doSomething1(10)

func doSomething(parameter: Int = 1024) { } // parameter 默认值为 1024 doSomething()

集合Array

Array:用来存储一组同类型、有序的数据。

// 声明 var nums = [1, 2, 3, 4] // 尾部添加 nums.append(5) // 1 2 3 4 5 // 移除第一个元素 nums.remove(at: 0) // 2 3 4 5 // 移除尾部元素 nums.removeLast() // 2 3 4 // 移除首部元素 nums.removeFirst() // 3 4 // 在 index 为 2 的位置插入 10 nums.insert(10, at: 2) // 3 4 10 // 删除全部元素 nums.removeAll() // []

Dictionary

Dictionary:用来存储键值对,它的 key 是唯一的,且数据是无序的。

// 声明 var goods = ["name": "appale", "price": "20"] // 添加键值对 goods["weight"] = "10.0" // ["name": "appale", "weight": "10.0", "price": "20"] // 修改 goods["name"] = "orange" // ["price": "20", "name": "orange", "weight": "10.0"] // 获取所有的 key goods.keys //["name", "price", "weight"] // 移除某个键值对 goods["name"] = nil // ["price": "20", "weight": "10.0"] // 移除所有元素 goods.removeAll()

Set

Set:用来存储一组同类型、无序、值唯一的数据。

// 声明 var set = Set<Int>() // 添加元素 set.insert(10) // [10] set.insert(20) // [20, 10] // 因为 set 值唯一,所以还是 [20, 10] set.insert(10) // [20, 10] // 移除头部元素 set.removeFirst() // [10] 或者 [20] // 移除所有元素 set.removeAll()

struct 与 classstruct

用 struct 关键字修饰,可以声明属性和函数。

// 定义 struct Person { let name: String let age: Int func run() { } } // 使用 let person = Person(name: "jack", age: 10) person.run()

let jack = Person(name: "jack", age: 10) var rose = jack // 虽然 rose 的内容是从 jack 来的,但修改 rose 的 name 属性并不会影响 jack 的name 属性。 rose.name = "rose" print(rose.name, jack.name) // rose jack

class

用 class 关键字修饰,可以声明属性和函数。

// 声明 class Person { var name: String let age: Int func run() { } init(name: String, age: Int) { self.name = name self.age = age } } // 使用 let jack = Person(name: "jack", age: 10) var rose = jack rose.name = "rose" print(rose.name, jack.name) // rose rose

总结,