<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      iOS Swift 里的捕獲變量

      在 Swift 中,閉包不僅可以作為函數的簡潔表達方式,還能捕獲和存儲其所在上下文中的常量和變量。捕獲的變量會隨著閉包的生命周期延續,即使這些變量已經超出了原作用域,它們仍然可以在閉包中被訪問和修改。這種行為被稱為閉包捕獲,是閉包的核心特性之一。

      //變量值捕獲

      func makeIncrementer() -> () -> Int {
          var total = 0  // 這是外部變量
          let incrementer: () -> Int = {
              total += 1  // 閉包捕獲了外部變量 total
              return total
          }
          return incrementer
      }
      
      let increment = makeIncrementer()
      print(increment())  // 輸出 1
      print(increment())  // 輸出 2
      // 在這個例子中,total 變量是在 makeIncrementer 函數內定義的,它對 incrementer 閉包來說是“外部”的。但由于閉包捕獲了這個外部變量,total 可以在閉包內部被修改和訪問。

       

      //引用類型捕獲

      class ReferenceType {
          var value: Int = 0
      }
      func referenceClosure() -> () -> Int {
          let ref = ReferenceType()//函數內聲明了一個局部變量 
          let closure: () -> Int = {
              ref.value += 1 //閉包內修改外界變量
              return ref.value
          }
          return closure
      }
      
      let closureRef = referenceClosure()
      print(closureRef()) // 輸出 1
      print(closureRef()) // 輸出 2
      //closure 是一個閉包,它捕獲了 ReferenceType 的實例 ref。這個 ref 是 referenceClosure 函數中的局部變量,但由于被閉包捕獲,在 referenceClosure 返回后,ref 仍然存在于閉包中,并且它的 value 屬性可以繼續被修改。

       

      為什么閉包要捕獲外部變量?

      閉包需要捕獲外部變量,主要是為了保持它們的狀態,即使閉包所在的作用域已經結束。

       

      • 如果一個變量定義在函數內部,但閉包捕獲了它,該變量就不會隨著函數的結束而銷毀。閉包可以長期持有該變量的引用,并在后續調用時繼續使用它。
      • 閉包內部變量:是在閉包的代碼塊內部定義并使用的變量,通常只能在閉包內訪問。
      • 外部變量:是在閉包所在的作用域(函數或其他代碼塊)中定義,但被閉包引用的變量。由于它們是在閉包外部定義的,所以稱為“外部變量”。

      posted on 2024-10-17 15:49  ACM_Someone like you  閱讀(91)  評論(0)    收藏  舉報

      導航

      主站蜘蛛池模板: 国产精品第一区亚洲精品| 亚洲香蕉av一区二区蜜桃| 亚洲情A成黄在线观看动漫尤物 | 国产一区二区三区内射高清| 免费国产好深啊好涨好硬视频| 久久99久国产精品66| 性饥渴少妇AV无码毛片| 麻豆国产传媒精品视频| 成人网站免费在线观看| 美女一区二区三区亚洲麻豆| 性一交一乱一伦| 国产精品小视频一区二页| 国产成人a∨激情视频厨房| 久久精品国产中文字幕| 四虎成人在线观看免费| 不卡国产一区二区三区| 临海市| 成人啪精品视频网站午夜| 欧美性猛交xxxx乱大交丰满| 久播影院无码中文字幕| 日韩精品区一区二区三vr| 亚洲第一精品一二三区| 国产精品无码不卡在线播放| 色婷婷亚洲精品综合影院| 怀宁县| 国产乱人伦真实精品视频| 欧美gv在线| 国产精品av中文字幕| 女人与牲口性恔配视频免费| 99久久久无码国产精品动漫| 亚洲一区二区精品另类| 熟女人妻aⅴ一区二区三区电影 | 99久久久国产精品免费无卡顿| 热久久这里只有精品99| 最新亚洲av日韩av二区| 人人爽人人爽人人片a免费| 亚洲顶级裸体av片| 动漫av网站免费观看| 黄平县| 一区二区三区岛国av毛片| 国产中文字幕精品喷潮|