swift
2016-03-07 12:11
666 查看
// 1.单行注释 /* 2.快注释 */ /* /* 3.快注释的嵌套 */ */ // 1. // 变量(var)和常量(let,不能再次改变) // let声明常量,在程序运行期间的值,它的的值不能再次改变. // 可以不显示的声明常量或变量的类型, swift 语法中有个类型推断机制, 可以根据该变量或者常量的值推断它的类型 // 显示声明类型,就是在:后面写上变量或者常量的类型 let constValue:Int = 31 var varableValue:Int = 49 // 变量和常量变的功能强大, 支持中文和图片(UNCode 编码) // ***注意:见名之意, 英文 var �� = "zhangsan" var 小猫 = "lisi" print("小猫: \(小猫)") // 2.**分号 // 当同一行上写两行独立的代码, 中间必须要用分号隔开 var a = 10; var b = 20 // 3.变量和常量的类型 // Int // 自动根据当前计算机的位数来选择, eg:当前计算机是32位,那么 Int == Int32 var intValue:Int = 49 // 为不为负数: UInt,Int // 表达整数的范围:Int8(-2^7 ~ 2^7 - 1),Int16,Int32,Int64 // 数值型的值(字面量)(包括十,二,八,十六进制) // 二进制 (十-二 ---- 连除倒取余) var erValue = 0b110001 print("\(erValue)") // 八进制 var eightValue = 0o61 print("\(eightValue)") // 十六进制 var sixteenValue = 0x31 print("\(sixteenValue)") // 浮点数 // *类型推断机制,会把浮点数都推断称 Double类型(防止数据溢出, 银行才会用到, 但会占用较大内存),建议显示声明类型 var floatValue: Float = 49.8 // 布尔类型 // *在 swift 当中, 布尔类型的值只有两个: true 和 false,没有非0和0的值, 也没有 YES和 NO if true { } // 定义类型别名 typealias QiongType = Int var qiongValue:QiongType = 23 // *swift 中新增的类型 // 1.元祖(多个不同类型或者相同类型的值组成) // **一般结合函数来使用, 可以返回多个值 var httpCode:(String,Int) = ("successful",200) print(httpCode.0) // 给元祖添加描述信息 // 前面的描述信息可以自定义, 作用,让程序媛看代码时候, 可以准确知道, 值的意思,增加可读性 - 键~值 var httpCode2 = (description:"Error",valueCode:200) print(httpCode2.description) // 可选类型 (网络数据请求失败) // *可选类型单独使用很少,结合构造(OC 的初始化方法)方法来使用, swift 中构造方法有一个**安全性原则:每个类创建出来的对象, 对象的每个属性都必须要有默认值,可选类型是很好的选择,当外界不赋值的时候, 他的值为 nil // *在 swift 当中,nil代表一个确切的值, 是一个值类型,而在 OC 当中, nil 代表空指针,一个引用 // 我们声明可选类型的时候,就是说该值可能为 nil, 我们取值的时候, 就要进行强制解析(在变量名后面加上!), 不能对为 nil 的,进行强制解析 var optionalValue:Int? = 49 print(optionalValue!) // *隐式解析 // 使用!声明,其实就是告诉系统,让系统帮我们解析 var optional2:Int! = 34 print(optional2) // 断言 // 对于程作用, 只序运行而言,没有什么是方便程序员调试 bug var age = 49 assert(age > 0, "年龄不能为空"); // 运算符 // 一元 // 负号运算符 var fuhaoValue = 23 var fuhaoValue2 = -fuhaoValue print(fuhaoValue2) // 正号运算符 // 正号只是 swift 对称 var zhenghaoValue = +fuhaoValue2 print(zhenghaoValue) // 二元 // 1.赋值运算符 // *不能结合 if-else 使用 // 2.算术运算符 // *取余运算符 (可以前后为 浮点数) var quyuValue = 10.0 % 3.0 print(quyuValue) // 3.逻辑运算符(& || 非) // 逻辑或中的代码短路现象, 前面一个为真, 后面一个式子不会判断 // 4.关系运算符 // 同 C // 5.组合,+= // 6.三元(三目) // eg. a ? b : c // --------------------------swift 中新增的运算符 // 1.区间运算符 // ... eg.(1...10) - [1,10] // ..< eg.(1..<10) - [1,10) // forin 循环 for value in 1...10 { print(value) } // 空合运算符 // 结合可选类型使用 // *1.??前面必须是可选类型 // *2.??前后的类型必须是一样的 var option3:Int! = 49 var kongheValue = option3 ?? 23 print(kongheValue) // 字符串 // 1.swift 中新增了一个字符串类型 String, 除了可以使用新增的还可以使用 OC中的类型 NSString,NSMutableString // 默认为 String 类型 // *String类型的字符串是值类型 (值传递而不是用了引用,重新拷贝了一份给 str2) // *String 本身没有可变和不可变之分,是否取决于使用 var或者 let 修饰 // *对于复杂字符串操作, 如截取:建议使用 OC 方法 var str1 = "shaoqiong" var str2 = str1 // 把 str1进行拼接 str1 += "mei" print(str2) print(str1) // 用 String 进行截取 // 是值类型 var index = str1.startIndex.advancedBy(4) str1 = str1.substringFromIndex(index) print(str1) // OC 字符串 (方法, 函数 - 用.) // 1.引用类型 // *优先使用 OC 字符串, 方法比较熟悉 var OCStr:NSMutableString = NSMutableString (string: "123") var OCStr2 = OCStr // 利用 OC 的方法进行拼接 OCStr.appendString("456") print(OCStr2) // 使用 OC 字符串进行截取 var subStr = OCStr.substringFromIndex(3) print(subStr)
相关文章推荐
- 《从零开始学Swift》学习笔记(Day 56)—— Swift编码规范之命名规范
- Swift - 按钮(UIButton)的用法
- 《从零开始学Swift》学习笔记(Day 55)——使用try?和try!区别
- 《从零开始学Swift》学习笔记(Day54)——抛出错误
- 《从零开始学Swift》学习笔记(Day 53)——do-try-catch错误处理模式
- 《从零开始学Swift》学习笔记(Day 52)——Cocoa错误处理模式
- 《从零开始学Swift》学习笔记(Day 51)——扩展构造函数
- Swift笔记 使用UIScrollView来居中显示图片,可缩放和跟踪触摸点
- swift 指纹识别
- swift版本拼图游戏项目源码
- Swift泛型
- Swift CAShapeLayer,UIBezierPath绘制图形
- iOS - Swift - 图书展示项目
- Swift图书展示项目笔记
- Swift构造函数
- dyld: Library not loaded: @rpath/libswiftCore.dylib 错误的解决
- Swift 之 RxSwift
- iOS开发--Swift RAC响应式编程
- OC Swift 混编
- iOS - Swift - 语法糖