• Swift学习二


    参考博客:http://blog.csdn.net/jaywon

    //swift不会自动为变量赋初始值,必须手动添加初始值

    //数组 Array
    let array:Array = []; 声明一个空数组
    var array1 = String[]() 声明一个字符串数组
    往数组末尾添加新元素
    array.append("新元素")
    array += "新元素"
    array += ["新元素1","新元素2",...]
    往数组里的指定位置添加新元素
    array.insert("新元素,atIndex:index)

    array[4...7] = ["新元素1","新元素2"] //替换元素,可以比原来的少
    ,这样将会导致数组的元素个数减少
    数组删除最后一个元素
    array.removeLast()
    数组指定位置删除元素
    array.removeAtIndex(index)
    删除所有的元素
    array.removeAll()
    遍历数组
    for item in array {
    println(item)
    }
    for (index,value) in enumerate(array) {
    println("Item(index+1),Value(value)")
    }

    //字典 Dictionary
    var dictionary = Dictionary<String:float>() 创建一个字典,key是
    字符串类型,value是浮点类型
    字典的添加/修改
    dictionary[key] = value 遍历字典,如果找到相应的key就是修改,
    找不到就算添加
    字典删除键值对
    dictionary[key] = nil
    dictionary.removeValueForkey(key)
    字典的遍历
    for (key,value) in dictionary{
    println("(key):(value)")
    }
    遍历字典所有的key
    for key in dictionary.keys{
    println(key)
    }
    遍历字典所有的value
    for value in dictionary.values{
    println(value)
    }

    //可选类型 Optional 这个值要么存在,并且等于X,要么根本不存在
    let numberStr = "123"
    let convertNumber:Int? = numberStr.toInt() 存在即转成123,不存
    在则转成nil
    Swift中nil不是指针,它代表特定类型的值不存在,任何类型的可选类型
    都能赋值为nil,而不仅限于对象类型,并且更加安全
    规则:
    1、Swift里面的nil不能用于非可选类型 eg: var str = nil 是错误的
    2、如果代码中的常量或者变量需要适配不存在的情况,务必将它声明称恰
    当的可选类型
    3、如果定义的可选类型的对象不提供默认值,该对象将自动设为nil
    eg:var str:String? 没有赋值,默认值就是nil。
    var str:String?
    let hashValue = str?.hashValue //必须加问号,表示可选类型是否相
    应后面的方法或者属性

    //解包(!) 如果确定一个可选类型的对象的值一定存在,那么就使用!
    进行解包获取它的值,或者Optional Binding
    使用“!”
    let str:String? = "12345"
    println(str)
    let descStr = str!.hashValue
    使用 Optional Binding,通过判断一个常量是否存在
    if let sValue = str {
    let descStr = sValue.hashValue
    }

    //隐式解包
    在可选的类型名称后面,在定义的时候将?改成!
    let str:String! = "123456"
    println(str)
    let descStr = str.hashValue

    //字符串 String
    字符串相等可以用==
    字符串前缀string.hasPrefix
    字符串后缀string.hasSuffix
    字符串中字符的个数countElements(string)

  • 相关阅读:
    Luogu P3919【模板】可持久化数组(可持久化线段树/平衡树)
    线段树||BZOJ5194: [Usaco2018 Feb]Snow Boots||Luogu P4269 [USACO18FEB]Snow Boots G
    线段树||BZOJ1593: [Usaco2008 Feb]Hotel 旅馆||Luogu P2894 [USACO08FEB]酒店Hotel
    CF 610E. Alphabet Permutations
    BZOJ 1227: [SDOI2009]虔诚的墓主人
    BZOJ1009: [HNOI2008]GT考试
    BZOJ3674: 可持久化并查集加强版
    BZOJ3261: 最大异或和
    BZOJ2741: 【FOTILE模拟赛】L
    BZOJ3166: [Heoi2013]Alo
  • 原文地址:https://www.cnblogs.com/zhangshan/p/4132242.html
Copyright © 2020-2023  润新知