美文网首页
swift Day04

swift Day04

作者: michaeljacc | 来源:发表于2016-05-14 22:46 被阅读16次

    近期看这些书,越发觉得英语很重要
    函数fiction 格式 fund funcName(paraNamed : type, ... ) ->返回值

     fun isNameHello (name : String...) ->String{
    return name + hello
    }
    isNameHello(wjw)
    
    fun findLargestBalance(balances : Double...) -> Double{
    var result = -Double.infinity
    
    for balance in balances{
    if result < balances{
    result = balances
            }
        }
    return  result
    }
    
    • balance除了平衡还有余额,
    • 参数名后有更多的参数传入可用...表示
    • infinity是无穷的意思
      函数可以返回函数,函数可以作为参数传递给另一个函数
      函数嵌套函数,把一些函数储藏在函数内部 隐蔽性
      嵌套函数代码
    func bankVault(passcode : String) -> String {
        func openBankVault(Void) -> String {
          return "Vault opened"
        }
      fun closeBankVault(Void) ->String{
        return "Vault closed"
      }
      if passcode == "secret" {
          return openBankVault()
       }else{
      return closeBankVault()
      } 
    }
    print(bankVault("wrongscret"))
    
    屏幕快照 2016-05-14 下午10.15.40.png

    嵌套函数可以避免不必要的功能,打开或关闭金库的唯一方法是通过bankVault函数, 执行这些功能被隔离到函数bankVault中.

    func writeCheck(payee : String = "Unknow", amout : String = "10.00") -> String {
        return "check payable to " + payee + "for $" + amout
    }
    writeCheck()
    writeCheck("michaeljacc", amout: "20")
    //第一个参数不要表名参数名,第二个参数需要表明函数名称 即amout
    我不懂为什么不两个都加上参数名.按照Apple的说法,这样可以提高代码的可读性,我们可以管上面的调用读作:whriteCheck michaeljac and amout20。
    
    

    默认参数是Unknow和10
    注意:第一个参数不要表名参数名,第二个参数需要表明函数名称 即amout

    定义writeCheck的时候,我们使用的payee和amout在Swift里叫做InnerName,即参数的内部名字,这个名字主要用来帮助函数的实现者实现函数逻辑。其实,函数参数还有一个OuterName,函数的调用者使用OuterName向函数传递参数。只不过,默认情况下,函数参数的InnerName和OuterName是相等的。

    func writeCheck( from payee : String = "Unknow",  total amout : String = "10.00") -> String {
        return "check payable to " + payee + "for $" + amout
    }
    writeCheck()
    writeCheck("michaeljacc", amout: "20")
    

    from和total就是outName(外部参数)

    闭包closure

    与函数密切相关,

    swift闭包结构

    { (parameters) -> return_Type in
         statement
    }
    

    相关文章

      网友评论

          本文标题:swift Day04

          本文链接:https://www.haomeiwen.com/subject/xmfvrttx.html