• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

swift基础-4

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

函数:完成特定任务的代码块,通过名字来表示函数做什么

func 函数名(形参:形参类型)->返回类型

command +option+0 隐藏右边的框

//定义函数

        func sayHello(name:String)->String{

            let greeting = "hello " + name + "!"

            return greeting

        }

        println(sayHello("Anno"))

        

        // 多个参数

        func minusResult(start:Int,end:Int)->Int{

            return end - start

        }

        println(minusResult(1,10))

        

        //无参数

        func sayHelloWorld() ->String{

            return "Helo World"

        }

        println(sayHelloWorld())

        

        // 无返回值 Void = 空元组(tuple

        func sayGoodbye(name:String){

            println("Goodby,\(name)")

        }

        println(sayGoodbye("Dave"))

        // 多重返回值函数

        func count(str:String) ->(vs:Int,cs:Int,os:Int){

            var vowels = 0,consonants = 0,others = 0

            for Character in str{

                switch String(Character).lowercaseString{

                    case "a","e","i","o","u":

                    ++vowels

                    case "b","c","d","f","g","h","j","k","l","m","n","p","q","t","s","t","v","w","x","y","z":

                    ++consonants

                default:

                    ++others

                }

            }

            return (vowels,consonants,others)

        }

        let total = count("some arbitrary string!")

        println("\(total.vs) vowels and \(total.cs) consonants")

        

        // 外部参数名 把两个字符串连在一起

        func join(s1:String, s2:String,joiner:String) ->String{

            return s1 + joiner + s2

        }

        println(join("hello","world",","))

    // 不使用外部参数的时候,这三个参数不清楚到底是干什么的

        func joins(outSting s1:String,toSting s2:String, withJoiner joiner:String) ->String{

            return s1 + joiner + s2

        }

        println(joins(outSting:"hello",toSting:"world",withJoiner:","))

        // 带来问题:调用函数的时候 写太多,解决办法 看下边

        

        // 简写 外部参数名  参数名前 #

//        func joins1(outSting s1:String,toSting s2:String, withJoiner joiner:String) ->String{

//            return s1 + joiner + s2

//        }

//        println(joins1(outSting:"hello",toSting:"world",withJoiner:","))

        func containsCharacter(#string:String,#characterToFind:Character) ->Bool{

            for character in string{

                if character == characterToFind{

                    return true

                }

            }

            return false

        }

        let containsAVee = containsCharacter(string: "qwertyuiop", characterToFind: "y")

        println(containsAVee)

        

        // 给默认参数

        func joinss(outSting s1:String,toSting s2:String, withJoiner joiner:String = ",") ->String{

            return s1 + joiner + s2

        }

        // 第三个参数 没写 直接使用默认值

        let str1 = joinss(outSting: "nihao", toSting: "heri")

        println(str1)

        

        //  注意会出错 

        func joinbb(outSting s1:String,toSting s2:String, withJoiner joiner:String = "") ->String{

            return s1 + joiner + s2

        }

        // 第三个参数 没写 直接使用默认值

        let str2 = joinbb( outSting: "haha", toSting: "zheli", withJoiner: "+")

        println(str2)

        // 可变参数   传入不确定数量来输入参数     变量名类型 ...  = 数组常量

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
OpenStack对象存储——Swift发布时间:2022-07-13
下一篇:
[Swift]LeetCode805.数组的均值分割|SplitArrayWithSameAverage发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap