• Swift学习笔记(1):基础部分


    目录:

    • 分号
    • 常量和变量
    • 数据类型
    • 数值型类型转换
    • 类型别名
    • 元组
    • 可选类型
    • API版本检查

    分号

    Swift并不强制要求你在每条语句的结尾处使用分号( ; ),你也可以按照自己的习惯添加分号。如果在一行内写多条独立的语句情况下必须要用分号。

    常量和变量

    使用let定义常量,使用var定义变量,常量和变量必须在使用前声明,且可以使用Unicode字符声明:不能包含数学符号,箭头,保留的(或者非法的)Unicode 码位,连线与制表符。也不能以数字开头,但是可以在常量与变量名的其他地方包含数字。

    let maximumNumberOfLoginAttempts = 10
    var currentLoginAttempt = 0
    let constWelcomeMessage: String // 类型标注
    var varWelcomeMessage: String  // 类型标注 
    let 你好 = "你好世界" // Unicode字符声明常量
    let ?? = "dogcow"   // Unicode字符声明常量

    你可以在一行中声明多个常量或者多个变量,用逗号隔开:

    var x = 0.0, y = 0.0, z = 0.0
    var red, green, blue: Double  // 类型标注
    数据类型

    Swift包含基础数据类型:

    1 Int, Int8, Int16, Int32, Int64, UInt, UInt8, UInt16, UInt32, UInt64 : 整型值
    2 Float     : 表示32位浮点数
    3 Double    : 表示64位浮点数, 当执行类型推断而推断浮点数的类型时,Swift总是会选择Double而不是Float
    4 Bool      : 布尔型值
    5 String    : 文本型值
    6 Character : 字符型值

     Swift提供集合数据类型:

    1 Array      : 数组类型
    2 Set        : 集合类型
    3 Dictionary : 字典类型

    Swift中所有的基本类型:整数、浮点数、布尔值、字符串、数组和字典,都是值类型,并且在底层都是以结构体的形式所实现。

    数值型类型转换

    Int8和Int16是不同的两种类型,在转换时必须使用类型强制转换

    // 整数类型转换 
    let twoThousand: UInt16 = 2000
    let one: UInt8 = 1
    let twoThousandAndOne = twoThousand + UInt16(one)
    // 整数和浮点数间转换
    let three = 3
    let pointOneFourOneFiveNine = 0.14159
    let pi = Double(three) + pointOneFourOneFiveNine // 加号两边的数类型须相同
    类型别名

    可以使用 typealias 关键字来定义类型别名

    typealias AudioSample = UInt16
    var maxAmplitudeFound = AudioSample.min // maxAmplitudeFound = 0
    元组

    把多个值组合成一个复合值。元组内的值可以是任意类型,并不要求是相同类型

    let http404Error = (404, "Not Found")                    // http404Error 的类型是 (Int, String)
    let http200Status = (statusCode: 200, description: "OK") // 定义元组元素
    let (statusCode, statusMessage) = http404Error           // 分解元组获取元素值
    let (justTheStatusCode, _) = http404Error                // 忽略缺省值
    可选类型

    可以使用?定义可选类型变量或常量

    var surveyAnswer: String?                    // surveyAnswer 被自动设置为 nil
    var serverResponseCode: Int? = 404
    let possibleString: String? = "An optional string."
    let forcedString: String = possibleString!  // 需要感叹号来获取值

    如果一个可选类型变量或常量第一次被赋值之后,能够确定总会有值时,可以使用!定义隐式解析可选类型的变量或常量

    let assumedString: String! = "An implicitly unwrapped optional string."
    let implicitString: String = assumedString  // 不需要感叹号
    API版本检查
    if #available(iOS 10, macOS 10.12, *) {
        // 在 iOS 使用 iOS 10 的 API, 在 macOS 使用 macOS 10.12 的 API
    } else {
        // 使用先前版本的 iOS 和 macOS 的 API
    }
    声明:该系列内容均来自网络或电子书籍,只做学习总结!
  • 相关阅读:
    c# 基本值类型及其默认值
    军史馆如何营造更好的意境
    部队营区生态环境设计与文化氛围营造
    我的第一个CAD程序
    经典SQL语句大全
    带图标和多行显示的ListBox
    CAD 二次开发 -- 自动加载开发的DLL
    Git使用总结
    OpenStack迁移虚拟机流程分析
    OpenStack创建虚拟机流程
  • 原文地址:https://www.cnblogs.com/Youhei/p/6873982.html
Copyright © 2020-2023  润新知