Kotlinthis詳解及實例

Kotlin this詳解及實例

創新互聯建站是一家集網站建設,岱岳企業網站建設,岱岳品牌網站建設,網站定制,岱岳網站建設報價,網絡營銷,網絡優化,岱岳網站推廣為一體的創新建站企業,幫助傳統企業提升企業形象加強企業競爭力??沙浞譂M足這一群體相比中小企業更為豐富、高端、多元的互聯網需求。同時我們時刻保持專業、時尚、前沿,時刻以成就客戶成長自我,堅持不斷學習、思考、沉淀、凈化自己,讓我們為更多的企業打造出實用型網站。

為了表示當前函數的接收者(receiver), 們使用this表達式:

  1. 在類的成員函數中,this指向這個類的當前對象實例;
  2. 在擴展函數中,或帶接收者的函數字面值(function literal) 中, this 代表調用函數時, 在點號左側傳遞的接收者參數;

如果this沒有限定符,那么它指向包含當前代碼的最內層范圍.如果想要指向其他范圍內的this,需要使用標簽限定符。

帶限定符的this

為了訪問更外層范圍(比如 類, 或 擴展函數, 或有標簽的 帶接受者的函數字面值)內的 this, 我們使用this@label , 其中的 @label 是一個標簽, 代表我們想要訪問的this所屬的范圍:

class A { // 隱含的標簽 @A
  inner class B { // 隱含的標簽 @B
    fun Int.foo() { // 隱含的標簽 @foo
      val a = this@A // 指向 A 的 this
      val b = this@B // 指向 B 的 this
      val c = this // 指向 foo() 函數的接受者, 一個 Int 值
      val c1 = this@foo // 指向 foo() 函數的接受者, 一個 Int 值
      val funLit = lambda@ fun String.() {
        val d = this // 指向 funLit 的接受者
      }
      val funLit2 = { s: String ->
        // 指向 foo() 函數的接受者, 因為包含當前代碼的 Lambda 表達式沒有接受者
        val d1 = this
      }
    }
  }
}

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

文章名稱:Kotlinthis詳解及實例
文章地址:http://m.kartarina.com/article46/jedghg.html

成都網站建設公司_創新互聯,為您提供網站維護、定制網站、品牌網站建設、軟件開發網站內鏈網站排名

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

網站托管運營
主站蜘蛛池模板: 国产精品亚洲а∨无码播放不卡| 无码日韩人妻精品久久蜜桃| 无码少妇A片一区二区三区| 精品少妇人妻av无码久久| 亚洲Av无码国产情品久久 | 色噜噜综合亚洲av中文无码| 亚洲一区二区无码偷拍| 久久影院午夜理论片无码| 中文字幕无码不卡一区二区三区| 野花在线无码视频在线播放| 亚洲AV无码专区在线电影成人| 亚洲∧v久久久无码精品| 亚洲av无码天堂一区二区三区| 蜜桃臀AV高潮无码| 亚洲va中文字幕无码久久不卡| 老司机无码精品A| 亚洲精品无码av片| 日韩精品人妻系列无码专区免费| 久久中文字幕无码专区| 精品无码国产一区二区三区51安| 无码毛片AAA在线| 色综合久久无码中文字幕| 国产亚洲精久久久久久无码77777 国产在线无码精品电影网 | 无码人妻精品一二三区免费| 人妻中文字幕无码专区| 国99精品无码一区二区三区| 在线观看免费无码视频| 亚洲国产综合无码一区二区二三区 | 无码日本精品XXXXXXXXX| 亚洲精品无码久久久久久久| 人妻丰满熟妇AV无码片| 无码人妻丰满熟妇精品区| 岛国无码av不卡一区二区| 亚洲午夜AV无码专区在线播放| 无码国产精品一区二区高潮| 午夜无码熟熟妇丰满人妻| 免费无码精品黄AV电影| 免费无码专区毛片高潮喷水| 内射无码专区久久亚洲| 免费无码又爽又刺激高潮软件 | 久久精品成人无码观看56|