美文网首页Swift
★ 学习笔记:《iOS高级:Swift入门精讲②》第一节 Swi

★ 学习笔记:《iOS高级:Swift入门精讲②》第一节 Swi

作者: 麦穗0615 | 来源:发表于2019-07-26 09:37 被阅读0次

    前言:

    本篇仅为视频学习笔记

    嵌套函数(Nested Function)

    ★ 将函数定义在函数内部

     func forward(_ forward: Bool) -> (Int) -> Int {
        
         
         func next(_ input: Int) -> Int {
             return input + 1
         }
         
         func previous(_ input: Int) -> Int {
             return input - 1
         }
         
         return forward ? next : previous
     }
     
     forward(true)(3)  // 4
     forward(false)(3) // 2
    

    我们看这个forward函数,它返回值类型是 (Int) -> Int 函数类型,next和previous函数,是符合条件的,而且这两个呢,我只会用在forward里面,我完全可以将这两个函数定义在forward里面。

    那么,到时候根据传进来的布尔类型Bool来决定返回谁,外面只需要传参拿到这两个函数直接用就可以了,那就相当于外面就不能直接调用next和previous这两个函数了,只能通过forward函数,来间接调用next跟previous。

    如果你开发中有什么需求,你希望某些函数的,不希望被外面直接调用。说白了,你现在是不希望外面直接调用next什么的。那么像这种情况的话,你就可以将函数定义在另外一个函数里面,通过外层函数来间接调用里面的函数。里面可能会有一些流程控制,去控制你去调用哪个家伙

    相关文章

      网友评论

        本文标题:★ 学习笔记:《iOS高级:Swift入门精讲②》第一节 Swi

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