Swift 基础学习(1)
发布时间:2020-12-14 06:20:34 所属栏目:百科 来源:网络整理
导读:// MARK: ----------变量,常量-----------/* 声明常量/变量的方式 let/var name: Type 初始化值的方式 var/let name: Type = initValue let 关键字用来声明常量,若给定确定的值,不可修改,修改编译报错 var 关键字用来声明变量,开发中最好给个初始值,可
// MARK: ----------变量,常量----------- /* 声明常量/变量的方式 let/var name: Type 初始化值的方式 var/let name: Type = initValue let 关键字用来声明常量,若给定确定的值,不可修改,修改编译报错 var 关键字用来声明变量,开发中最好给个初始值,可以修改 */ let firtstLet : Int firtstLet = 2 var firstVar : Int firstVar = 3 let secondLet : Int = 4 /* second = 5 报错 */ var secondVar : Int = 6 secondVar = 7 // 输出 print(firtstLet,firstVar,secondLet,secondVar) // MARK: ----------类型推断----------- /* Swift 是推荐类型推断的,也就是不需要我们在声明时指定具体的类型,只需要赋值就可以根据值来自动推断出其数据类型;不是所有情况下都可以使用类型推断的,一定是我们知道已经知道其具体类型且我们希望是这种类型的情况下才使用类型推断. */ //如: let constant = 10,不需要指定其类型为Int Swift会根据数值 10 推断出其类型为int let constant = 10 // 反例:let floatValue = 10.0 类型推断floatValue 为 Double 类型,是错误的 let floatValue = 10.0 // 正确写法 let floatValue1 : Float = 10.0 let floatValue2 = Float(10.0) // MARK: ----------类型转化----------- /* Swift 是强类型语言,比OC还要强,对于类型的转换,永远不会隐式转换,因此在需要类型转换的地方,必须手动添加代码转换 */ var doubleValue = 110.0 /* var intValue: Int = doubleValue 报错 */ // 正确写法 var intValue: Int = Int(doubleValue) // MARK: ----------类型别名----------- /* 使用typealias关键字给一个已经存在的类型指定别名。指定别名后,就可以使用该别名来声明常量或者变量。 */ typealias AudioSample = Int var name: Int = 1 // 等价于 var name1: AudioSample = 1; // MARK:---------------------布尔类型-------------- /* 在Swift中 布尔类型是使用 Bool 其值只有真假,也就是 true false 与 OC语言不同,不是 YES NO */ // 推荐 使用 is should can 开头 var canTransfer = true let isSuccessful = false if canTransfer { print("d") } else { print("g") } // MARK:---------------------------元组类型-------------------- /* OC中 没有元组类型,而 Swift 中的 元组类型 跟 OC中的数组,字典类似 ;声明元组类型很简单:()包裹起来,元素的类型可以是任意类型,元组内的元素可以通过 加上 0 1 2来访问,如果有名称 可以直接使用名称获取 */ let httpError = (404,"http not found") var httpError1 = (errorCode: 404,errorMessage: "http not found") print(httpError.1,httpError1.errorCode) let (statusCode,statusMessage) = httpError print("The Code is (statusCode)") let (StatusCode,_) = httpError print("(StatusCode)") (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |