1. <ul id="0c1fb"></ul>

      <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
      <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区

      RELATEED CONSULTING
      相關(guān)咨詢
      選擇下列產(chǎn)品馬上在線溝通
      服務(wù)時(shí)間:8:30-17:00
      你可能遇到了下面的問題
      關(guān)閉右側(cè)工具欄

      新聞中心

      這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
      kotlin頂層函數(shù)和函數(shù)表達(dá)式怎么用

      這篇文章將為大家詳細(xì)講解有關(guān)kotlin頂層函數(shù)和函數(shù)表達(dá)式怎么用,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

      讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來自于我們對這個(gè)行業(yè)的熱愛。我們立志把好的技術(shù)通過有效、簡單的方式提供給客戶,將通過不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長期合作伙伴,公司提供的服務(wù)項(xiàng)目有:國際域名空間、虛擬空間、營銷軟件、網(wǎng)站建設(shè)、四平網(wǎng)站維護(hù)、網(wǎng)站推廣。

      頂層函數(shù)

      不同于Java中函數(shù)只能定義在每個(gè)類里面,Kotlin采用了JavaScript 中的做法,可以在文件任意位置處定義函數(shù),這種函數(shù)稱為頂層函數(shù)

      編譯后頂層函數(shù)會成為文件類下的靜態(tài)函數(shù),比如在文件名是join.kt下定義的joinToString函數(shù)可以通過JoinKt.joinToSting調(diào)用,其中JoinKt是編譯后的類名。

      // 編譯成靜態(tài)函數(shù)// 文件名 join.ktpackage stringsfun joinToString() : String {...}/* Java */import strings.JoinKt;JoinKt.joinToSting(....)

      看下上面函數(shù)編譯后的效果:// 編譯成class文件后反編譯結(jié)果

      // 編譯成class文件后反編譯結(jié)果@NotNullpublic static final String joinToString(@NotNull Collection collection, @NotNull String separator, @NotNull String prefix, @NotNull String postfix) {  Intrinsics.checkParameterIsNotNull(collection, "collection");  Intrinsics.checkParameterIsNotNull(separator, "separator");  Intrinsics.checkParameterIsNotNull(prefix, "prefix");  Intrinsics.checkParameterIsNotNull(postfix, "postfix");  StringBuilder sb = new StringBuilder(prefix);  int index = 0;  for(Iterator var7 = ((Iterable)collection).iterator(); var7.hasNext(); ++index) { Object element = var7.next(); if (index > 0) {sb.append(separator); } sb.append(element);  }  sb.append(postfix);  String var10000 = sb.toString();  Intrinsics.checkExpressionValueIsNotNull(var10000, "sb.toString()");  return var10000;
         }// 默認(rèn)函數(shù)值public static String joinToString$default(Collection var0, String var1, String var2, String var3, int var4, Object var5) {  if ((var4 & 2) != 0) { var1 = " ";  }  if ((var4 & 4) != 0) { var2 = "[";  }  if ((var4 & 8) != 0) { var3 = "]";  }  return joinToString(var0, var1, var2, var3);

      接下來看下Kotlin中很重要的一個(gè)特性,擴(kuò)展函數(shù)。

      擴(kuò)展函數(shù)

      • 擴(kuò)展函數(shù)是類的一個(gè)成員函數(shù),不過定義在類的外面

      • 擴(kuò)展函數(shù)不能訪問私有的或者受保護(hù)的成員

      • 擴(kuò)展函數(shù)也是編譯成靜態(tài)函數(shù)

      表達(dá)式函數(shù)體

      通過下面這個(gè)簡單的例子看下函數(shù)聲明相關(guān)的概念,函數(shù)聲明的關(guān)鍵字是fun,嗯,比JS的function還簡單。

      Kotlin中參數(shù)類型是放在變量:后面,函數(shù)返回類型也是。

      fun max(a: Int, b: Int) : Int {if (a > b) {return a } else {return b}}

      當(dāng)然, Kotlin是有類型推導(dǎo)功能,如果可以根據(jù)函數(shù)表達(dá)式推導(dǎo)出類型,也可以不寫返回類型。

      但是上面的還是有點(diǎn)繁瑣,還能再簡單,在 Kotlin中if是表達(dá)式,也就是有返回值的,因此可以直接return,另外判斷式中只有一行一句也可以省略掉大括號:

      fun max(a: Int, b: Int)  {return if (a > b) a else b}

      還能在簡單點(diǎn)嗎?可以,if是表達(dá)式,那么就可以通過表達(dá)式函數(shù)體返回:

      fun max(a: Int, b: Int)  = if(a > b)  a else b

      最終只需要一行代碼。

      關(guān)于“kotlin頂層函數(shù)和函數(shù)表達(dá)式怎么用”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯(cuò),請把它分享出去讓更多的人看到。


      當(dāng)前標(biāo)題:kotlin頂層函數(shù)和函數(shù)表達(dá)式怎么用
      網(wǎng)站鏈接:http://www.ef60e0e.cn/article/iphshd.html
      99热在线精品一区二区三区_国产伦精品一区二区三区女破破_亚洲一区二区三区无码_精品国产欧美日韩另类一区
      1. <ul id="0c1fb"></ul>

        <noscript id="0c1fb"><video id="0c1fb"></video></noscript>
        <noscript id="0c1fb"><listing id="0c1fb"><thead id="0c1fb"></thead></listing></noscript>

        平昌县| 布尔津县| 武清区| 江城| 建平县| 南溪县| 论坛| 岳池县| 庆云县| 噶尔县| 勐海县| 新乡市| 浠水县| 遂昌县| 肇源县| 融水| 无为县| 曲沃县| 贡嘎县| 文水县| 通辽市| 武鸣县| 来宾市| 儋州市| 吉安县| 延寿县| 河北区| 永顺县| 和静县| 太康县| 隆回县| 准格尔旗| 海门市| 福泉市| 色达县| 海阳市| 苏州市| 读书| 深州市| 荥阳市| 大港区|