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

Swift语言中与C/C++和Java不同的语法(五)

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

这一节将会提到Swift中其他的关于函数的应用,这些内容包括有:

默认参数值和可变参数值、常量参数、返回函数类型和函数嵌套:

一、默认参数值和可变参数值

对默认参数值是指在函数的声明中就已经定义了参数的初值,比如:

func sayHelloTo(name:String,greeting:String = “Hi”, punctuation:String = “!”){
}
在调用的时候可以是:
sayHelloTo(name:“PlayGround”, punctuation :“!!!”, greeting :“Hi”)

因为对有默认参数的函数来说,有默认参数值的参数是可以调换顺序的,但是不建议这样使用。print函数就是有分割符和结束符初始值的函数。

对变长的参数类型的函数来说,

func mean(numbers : Double ...)-> Double {
    for number in numbers {
        sum+=number
    }
    return sum/Double(numbers.count)
}

调用可以是:
mean(2)
也可以是
mean(23456

但是一个函数只可以有一个变长的参数。

 

二、常量参数

与Java和C/C++不同,Swift不可以在函数中改变参数的值,因为传入参数的值的类型声明是let,好的函数会尽量避免需要改变函数参数的值。

但是如果要改变参数的值,需要这样来声明:

func toBinary(var num:Int)-> String {
    return num/2
}

将类型声明为var,

但是这样的改变只是在函数的内部改变,但是在函数的外面是不改变的,

这是因为这种方式是按值出传入的,不是引用传入,只是在函数的内部进行了copy

如果需要痛殴函数改变外部参数的值,需要添加inout

func swapInt(inout a :Int, inout b : Int){
    (a,b) = (b,a)
}
var x : Int = 1
var y : Int = 2
swapInt(&x,&b)

 

三、返回函数类型

这个也很简单,返回的类型是函数就好了:

func tire1 (weight : Int)-> Int {
}
func tire2 (weight : Int ) ->Int {
}
func choose (weight : Int) -> (Int) -> Int {
    return weight>10 ? tire1(weight) : tire2(weight)
}

 

四、函数的嵌套

func feeByPrice(price : Int,weight:Int)->Int {
  func choose (weight : Int) -> (Int) -> Int {
      return weight>10 ? tire1(weight) : tire2(weight)
  }
return ...
}

 


鲜花

握手

雷人

路过

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

请发表评论

全部评论

专题导读
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

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

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

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