swift学习整理(1)

1. 定义变量时,尽量在后面加感叹号而不是问号,这样在使用时就无需加感叹号


  • var strOptional: String!


    strOptional = "123456df"


    if strOptional != nil{

        print("nil打印" + strOptional)

    }else{

        print("strOptional = nil")



2. 数组的使用如下

  • /*数组*/

    let array = [Int](repeating:0, count:5)


    var marray : [String]

    marray = [String]()

    marray += ["1"]

    marray += ["2"]


    for (index,item) in marray.enumerated() {

        print("index=\(index),item=\(item)")

    }


3. 字典

  • /*字典*/

    let dict : [Int:String] = [10:"first",20:"second",30:"third"]

    var string = dict[10]


    /*函数*/

    //元组返回值

    func minMax(array: [Int]) -> (min:Int, max: Int)?{

        if array.isEmpty {

            return nil

        }

        

        var currentMin = array[0]

        var currentMax = currentMin

        for value in array[1..<array.count]{

            if value < currentMin {

                currentMin = value

            } else if value > currentMax {

                currentMax = value

            }

        }

        return(currentMin, currentMax)

    }


    if let bounds =minMax(array: [35,32, -64,-2, 0,87, 12]) {


        print("min =\(bounds.0), max =\(bounds.max)")

    }


    //可变参数

    func vari<N> (members: N...) {

        ...

    }

    vari(members: 6,3,22)

      一般默认函数中参数都是常数变量,不能改变他的值,如果要声明一个变量参数,可以再参数定义前加inout



4. 闭包

  • /*闭包

     * Closures 是自包含的功能代码块,可以在代码中使用或者用来作为参数传值

     

     */

    let divide = { (val1: Int, val2: Int) -> Int in

        return val1 / val2

    }

    let result = divide(432,23)

    print(result)


    let names = ["sd", "SD", "D", "gw", "4r","s"]


    // 使用普通函数(或内嵌函数)提供排序功能,闭包函数类型需为(String, String) -> Bool

    func backwards(s1: String, s2: String) -> Bool {

        return s1 < s2

    }

    var reversed1 = names.sorted(by: backwards)

    var reversed2 = names.sorted(by: <)

    var reversed3 = names.sorted(by: { $0 < $1})


    print(reversed3)



}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值