|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
官方教程:[https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html](https://docs.swift.org/swift-book/GuidedTour/GuidedTour.html)
个人博客:http://140.238.1.66:9002/
## 1. 注释
```text
//var 表示变量
/* let 表示常量,
@@@@@@@@ */
```
## 2. 基础类型
> Int 有符号整型 32位系统:Int32 64位系统:Int64
> UInt 无符号整型 32位系统:UInt32 64位系统:UInt64
> Double 浮点数 占64字节
> Float 浮点数 占32字节
> Bool 布尔类型
> Character 字符
> String 字符串
### coding
- import Cocoa
- var a:Int = Int.max
- //二进制
- var a1:Int = 0b10
- //16进制
- var a2:Int = 0x12
- //64字节 浮点数
- var b:Double = 2.0
- //32字节 浮点数
- var c:Float = 1.0
- var d:Bool = true
- var e:Character = "A"
- var g:String = "(*′▽`)ノノ"
- // \()可用于表达式读取
- print("a=\(a)")
- //可选类型
- var opA:String? = "sa"
- if let str = opA {
- print("opA'值=\(str)")
- }else {
- print("opA'值 为空")
- }
- ```
- ## 3. 运算符
- > 百度更详细
- ## 4. 关键字
- > 百度更详细
- ## 5. 元组
- ### coding
- ```swift
- import Cocoa
- //不指定类型
- var a = (1,2,2)
- //指定元素
- print("a0=\(a.0)")
- //指定类型
- var b:(String, Int, Bool) = ("21", 1, true)
- print("b=\(b)")
- //设置可选项
- var c:(String, Int)?
- print("c 当前值:\(c)")
- if c == nil {
- c = ("找不到页面", 404)
- }
- //取值方式一,optional必须有值
- print("c! 方式取值=\(c!.0)")
- //取值方式二、?符号进行步骤分解 为nil,直接跳转值else
- if let str = c?.0 {
- print("if c? 方式取值=\(str)")
- }
- ```
- 6. 集合类型
- ### coding
- ```swift
- import Cocoa
- // Array 操作
- //方式一
- //var intArray = [1,2,3]
- //方式二
- //var intArray = Array<Int>(arrayLiteral: 1,2,3)
- //方式三
- //var intArray = [Int]()
- //方式四
- var intArray = Array(repeating: 0, count: 3);
- var intArray2 = [2,3,4]
- intArray.append(4) // 新增
- print("intArray 数组内容:\(intArray)")
- print("intArray2 数组内容:\(intArray2)")
- print("拼接后的数组:\(intArray + intArray2)")
- //替换下标 0<= x <=1的内容
- intArray[...1] = [2,3]
- print("修改后 intArray 数组内容:\(intArray)")
- //替换下标 0<= x <1的内容
- intArray[0..<1] = [8]
- print("修改后 intArray 数组内容:\(intArray)")
- //遍历
- print("intArray 遍历:")
- for item in intArray {
- print(item, separator: "", terminator: " ")
- }
- print()
- // Set 操作
- var sNames:Set<String> = ["😁", "窝", "w"]
- print("sNames=\(sNames)")
- sNames.insert("w")
- print("新增w后 sNames=\(sNames)")
- // Dictionary 操作
- //方式一
- var maps = [Int:String]()
- //方式二
- //var maps:[Int:String] = [:]
- //方式三
- //var maps:Dictionary<Int,String> = Dictionary<Int,String>()
- //元素新增
- maps[1] = "hello"
- //maps.updateValue("hello", forKey: 1)
- //元素删除
- print("maps=\(maps)")
- //遍历 方式一
- for item in maps {
- print("key=\(item.key) val=\(item.value)")
- }
- //遍历 方式二
- //for (key, value) in maps {
- // print("key=\(key) val=\(value)")
- //}
- //maps[1] = nil
- if let value = maps.removeValue(forKey: 1) {
- print("maps 删除key=1 ,value= \(value)")
- }
- print("删除后 maps=\(maps)")
- ```
- ### set 方法归纳
- 
- 7. 异常处理
- ### coding
- ```swift
- import Cocoa
- //class、enum、struct
- enum MEnumErrors : Error {
- case NotDuang
- case GGGG
- }
- class MClassErrors : Error {
- var msg:String
-
- init(_ msg:String) {
- self.msg = msg
- }
- }
- func pang(_ a:Int) throws{
- guard a != 1 else {
- throw MEnumErrors.NotDuang
- }
-
- if a == 2 {
- throw MClassErrors("class 子类异常")
- }
- }
- do {
- try pang(1)
- print("无异常")
- } catch MEnumErrors.GGGG{
- print("捕获异常 GGGG")
- } catch MEnumErrors.NotDuang{
- print("捕获异常 NotDuang")
- }
- let err = try? pang(2)
- //不建议使用
- //let err = try! pang(2)
- if err == nil {
- print("有异常抛出")
- }else {
- print("没异常")
- }
复制代码 |
|