中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Swift函數類型

發布時間:2020-07-29 07:59:50 來源:網絡 閱讀:330 作者:hehemmm 欄目:移動開發

    函數可以作為一種類型使用,作為類型與其它數據類型沒有區別:


    有如下3個函數的定義:


    (1)func rectangleArea(width : Double, height : Double ) -> Double {

            let area = width * height

            return area


}


      (2)func triangleArea(bottom : Double, height : Double ) -> Double {

            let area = 0.5 * bottom *  height

            return area


}


        (3)func sayHello(){

            println("Hello World")


}


        第一個和第二個函數的返回類型都是(Double,Double) -> Double,第三個函數返回的類型為() ->()



        函數作為參數類型使用:可以把函數的類型作為另一個函數的返回類型使用:


        示例:


            

         func rectangleArea(width : Double, height : Double ) -> Double {

            let area = width * height

            return area


}



        func triangleArea(bottom : Double, height : Double ) -> Double {

            let area = 0.5 * bottom *  height

            return area


}



             func getArea(type : String) -> (Double,Double) ->Double {

                        var returnFunction :(Double,Double) -> Double


                            switch type {

                                case "rect":

                                        returnFunction = rectangleArea

                                case "tria" :


                                        return triangleArea

                                default:

                                        returnFunction = rectangleArea


}

                            return returnFunction

}


                var area = getArea("tria")

                println("TriangleArea:\(area(20,30))")


                

                var area = getArea("rect")

                println("TriangleArea:\(area(20,30))")



        可以把函數類型作為其它函數的參數類型使用:

            

        示例:

            

     func rectangleArea(width : Double, height : Double ) -> Double {

            let area = width * height

            return area


}



        func triangleArea(bottom : Double, height : Double ) -> Double {

            let area = 0.5 * bottom *  height

            return area


}



          func getAreaByFunc(funcName : (Double,Double) -> Double, a: Double,b: Double) -> Double {


                var area = funName(a,b)

                return area

}


            var result :Double = getAreaByFunc(rectangleArea,20,30)


                

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临沭县| 安陆市| 读书| 波密县| 顺平县| 定襄县| 闸北区| 梅河口市| 广饶县| 灵宝市| 周宁县| 闻喜县| 达日县| 双牌县| 仪征市| 澎湖县| 宜州市| 泊头市| 札达县| 和平区| 金乡县| 乌鲁木齐市| 石首市| 钟山县| 珠海市| 淳化县| 旬邑县| 育儿| 突泉县| 翼城县| 黄骅市| 新宾| 陕西省| 华坪县| 公安县| 溧水县| 伊金霍洛旗| 化德县| 兴义市| 东宁县| 北川|