swift 学习笔记(1)

来源:互联网 发布:淘宝怎样退货流程 编辑:程序博客网 时间:2024/06/07 02:25
func demo() {    let oName: String? = "张三"    let oAge: Int? = 10    if oName != nil && oAge != nil {        print(oName! + String(oAge!))    }}
// if let / var 连用 判断对象的值是否为nilif let name = oName,    age = oAge {    //进入分支后 一定有值,不需要解包    print(name + String(age))}
// guard let 守护一定有值,如果没有直接返回 刚好与if let 相反func demo2() {    let oName: String? = "张三"    let oAge: Int? = 10    guard let name = oName,        age = oAge else {        print("姓名或者年龄为nil")        return    }}
// 小技巧func demo3(name: String?, age: Int?) {    //guard let & if let    guard let name = name, age = age else {        print("姓名火年龄为nil")        return    }}
// switchfunc demo4(num: String) {    swith: num {        case "10","9":            print("我")        break        case "11":            print("你")        break        default:            print("其他")        break    }}
// 传统的 for 循环已被替代func demo() {    for var i = 0; i < 10; i += 1 {    }}
//字符串的遍历func demo() {    //NSString 不支持以下遍历    let str: String = "我要飞得更高"    for c in str.characters {        print(c)    }}
//字符串长度func demo() {    let str: "hello world你好"    // 1>    print(str.lengthOfBytes(using: .utf8))    // 2> 推荐使用    print(str.characters.count)    // 3>    let ocStr = str as NSString    print(ocStr.length)}
//字符串拼接func demo() {    let name = "小王"    let age = 10    let title: String = "BOSS"    let point = CGPoint(x: 100, y: 100)    let str = "\(name) \(age) \(title ?? "") \(point)"    print(str)}
//格式化func demo() {    let h = 8    let m = 9    let s = 6    let dataStr = String(format: "%02d:%02d:%02d", h, m, s)    print(dataStr)}
//数组的定义func demo() {    let array = ["张三","李四","小杨"]    print(array)}
//数组遍历func demo() {    let array = ["张三","李四","小杨"]    // 1> 按下标遍历    for i in 0..<array.count {        print(array[i])    }    // 2> for in    for s in array {        print(s)    }    // 3> enum block 同时遍历下标和内容    for e in array.enumerated() {        print(e)//元组(0, 张三)        print("\(e.offset) \(e.element)")// 0 张三    }    // 4>    for (n, s) in array.enumerated() {        print("\(n) \(s)")//0 张三    }    // 5> 反序    for s in array.reversed() {        print(s)    }    // 6> 反序以及下标 注意顺序 先枚举再反序    for (n, s) in array.enumerated().reversed() {        print("\(n) \(s)")    }}
//数组的增删改 容量func demo() {    var array = ["张三","李四","小杨"]    array.append("老王")    print(array)    //修改下标    array[0] = "小张三"    print(array)    //数组越界    array[5] = "xxx"    //删除    array.remove(at: 3)    //删除全部并保留空间(容量)    array.removeAll(keepingCapacity: try)}
//数组合并 两个数组的类型必须一致func demo() {    var array = ["张三","李四","小杨"]    var array2 = ["王五","小宋"]    array += array2    print(array)}func demo2() {    var array1: [NSObject] = ["张三","李四","小杨"]    var array2 = ["10","20",100]    array += array2    print(array)}
//字典func demo() {    // [KEY: VALUE] -> [String : NSObject]    let dict = ["name": "张", "age": 18]    print(dict)    let array: [[String: AnyObject]] = [        ["name": "张", "age": 18],        ["name": "李""age": 20]    ]}
//字典的增删改func demo() {    let dict = ["name": "张", "age": 18]    //增    dict["title"] = "大哥"    //改    dict["name"] = "大西瓜"    //删    dict.removeValue(forKey: "age")    print(dict)}
//字典遍历func demo() {    let dict = ["name": "张", "age": 18, "title": "老板"]    for e in dict {        print("\(e.key) \(e.value)")    }    for (k, v) in dict {        print("\(k) \(v)")    }}
//字典合并func demo() {    let dict1 = ["name": "张", "age": 18, "title": "老板"]    let dict2 = ["name": "李", "age": 18, "title": "员工"]    //字典不能直接相加    for e in dict2 {        dict1[e.key] = dict2[e.key]    }}
0 0
原创粉丝点击