老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

Scala具名參數NamedArgument-創新互聯

什么是具名參數呢?

創新互聯建站專業為企業提供寶安網站建設、寶安做網站、寶安網站設計、寶安網站制作等企業網站建設、網頁設計與制作、寶安企業網站模板建站服務,十余年寶安做網站經驗,不只是建網站,更提供有價值的思路和整體網絡服務。

下面通過簡單例子來說明。

需求:有一個42歲的父親和一個12歲的孩子,求父親比孩子年長多少歲?可以很簡單的寫出下面的函數體來實現,如下圖:

Scala具名參數Named Argument

特殊情況來了,如果在使用getDvalue函數時,不小心導致了參數p和c寫顛倒了,那么結果會是下圖所示:

Scala具名參數Named Argument

這樣就不是所要的結果了,很小的疏忽導致了結果的不正確性,做一下簡單的修改,如下圖所示:

Scala具名參數Named Argument

結果又是我們最開始所需的了。

下面寫幾個錯誤的示例:

Scala具名參數Named Argument

code:

package demo

object NamedArgument {

 def main(args: Array[String]): Unit = {

  val parent=42

  val child=12

  def getDvalue(p:Int,c:Int):Int={

   p-c

  }

  println("d-value is :"+getDvalue(c=child,p=parent))

  def testNA(a:Int,b:String)={}

  testNA(1,"string")//right

  testNA("string",1)//Multiple markers at this line:

           //type mismatch; found : String("string") required: Int

           //type mismatch; found : Int(1) required: String

           //如果不使用具名參數,調用函數時應按照函數定義的參數順序填寫參數

  testNA(b="string",a=1)//right 具名參數

  testNA(b="string",1)//positional after named argument.

            //如果函數中某個參數沒有具名,則按照其所在位置指定參數,可以叫做位置參數

  testNA(b=1,a="string") //Multiple markers at this line:

             //type mismatch; found : String("string") required: Int

             //type mismatch; found : Int(1) required: String

             //type mismatch; found : String("string") required: Int

             //具名參數指定類型錯誤,這是比較明顯的錯誤

  testNA(1,a="string") //parameter 'a' is already specified at parameter position 1

            //參數a已經在位置1(a="string")定義過,與位置參數1(所在位置0)沖突

  testNA(1,b="string") //right

  testNA(a=1,"string") //right

 }

}

接下來試試其它的類型

  def testNA2(a:Int*,b:String)={}  //*-parameter must come last  這是基本語法的約束,可變參數必須放在最后,這種寫法是錯誤的

  def testNA2(a:String,b:Int*)={}  //right

  testNA2("string",1,2,3,4)//right

  testNA2(a="string",b=1,2,3,4)//right

  testNA2(1,2,3,4,"string")//type mismatch; found : Int(1) required: String

              //type mismatch; found : String("string") required: Int

  testNA2(b=1,2,3,4,a="string")

  testNA2(b= List(1,2,3,4),a="string")//type mismatch; found : List[Int] required: Int

                    //這樣會提示類型錯誤,這樣寫其實就不是可變參數了

                    //可以寫成如下形式testNA3

  def testNA3(a:String,b:List[Int])={}

  testNA3(b= List(1,2,3,4),a="string")

  //匿名參數

  def testNA4(a:Int,b:String)=a

  val t1: Int=>Int = testNA4(_:Int,"string")

  val t2: Int => Int = testNA4(b = "string", a = _) //positional after named argument.

  val t3 = testNA4(b = "string", a = _: Int) //positional after named argument.

  val t4: Int=>Int = testNA4(_ , b="string") //right

  val t5: Int=>Int = testNA4(_ , "string") //right

  val t6: Int=>Int = testNA4(a=_ , b="string") //type mismatch; found : Int required: Int=>Int

  //匿名參數不能使用具名參數

另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


當前題目:Scala具名參數NamedArgument-創新互聯
網頁路徑:http://www.xueling.net.cn/article/dshgho.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 成人永久免费视频网站 | 激情综合婷婷丁香五月 | 日本毛片在线 | 国产精品久久久久久久av福利 | 久久一视频| 久久成人免费 | 色视频免费在线观看 | 少妇被躁爽到高潮无码久久 | 欧美性大战久久久久XXX | 久久伊人少妇熟女大香线蕉 | 日韩精品一区二区大桥未久 | 石原莉奈一区二区在线播放 | 精品乱码一区二区三四区 | 5252aⅴhaose我爱久久 | 国产精品69久久久 | 久久日韩精品无码一区 | 美女张开腿露出尿口与奶头的照片 | 日韩欧美国产视频 | 天天躁日日躁狠狠躁性色AV | 线观看免费完整aaa 国产精品国产a级 | 久久福利免费视频 | 日韩午夜大片 | 亚洲国产精品久久久久4婷婷 | 亚洲欧美日韩国产一区二区 | 2017狠狠干 | 最近高清日本免费 | 欧美xxxx色视频在线观看免费 | 日日摸夜夜添夜夜爽免费视频 | 极品美女国产精品免费一区 | 国产小网站 | 夜夜欢性恔免费视频 | 久久精品蜜臀 | 大黑人交xxxx| 插插插精品亚洲一区 | 日韩网站免费 | 欧美大片aaa | 亚洲va欧美va国产va天堂影院 | 久久人91精品久久久久久不卡 | 亚洲精品国产精品国自 | 欧美色图bt | 国产视频1 |