方法

作者: MingweiLee | 来源:发表于2016-10-13 20:03 被阅读0次

方法参数

func(参数1,参数2...)->返回值{
}

1.参数形式:外部参数名 本地参数名:类型
2.声明时可以省略外部参数名,这时外部参数名使用本地参数名
3.调用时,第一个参数名可省略,但后面的参数名必须显示表明。如果在声明时加_,调用时也可以忽略参数名
4.方法可以没有参数,也可以没有返回值
5.<strong>参数传递默认为传值方式</strong>

    //显式内部参数名,省略外部参数名
    func sayGreeting(name:String, _ words:String)->String{
        return words+"! "+name
    }
    func sayGreeting(){
        print("Hello!")
    }
    func sayGreeting(name:String)->String {
        return "Hello! "+name
    }
    //显式内部参数名,显式外部参数名
    func sayGreeting(person name:String,greeting words:String)->String{
        return words+"! "+name
    }


  
  myObject.sayGreeting()
  myObject.sayGreeting("Jason")
  myObject.sayGreeting("Jason","Welcome")
  myObject.sayGreeting(person:"Jason", greeting:"You are welcome")

更多参数与返回值功能

1.提供参数默认值
2.常量参数VS变量参数
3.可变数目参数:实际上传递的是数组
4.inout参数,可以改变外部实参(指针)
5.多个返回值,tuple类型

    //可变数目参数( 在后面加... )
    func averageNumber(numbers:Double...)->Double{
    
        var sum=0.0
        for item in numbers {
            sum+=item
        }
        return sum / Double(numbers.count)
    }
    
    

    //常量参数 VS. 变量参数
    //常量参数在内部不能改变,变量参数能改变,但无法对外部实参造成影响
    func changeParameter(data1:Int, var data2:Int){
        var dataTemp=data1
        data2++
        dataTemp++
    }

    

    //inout参数
    func swap(inout a:Int,inout b:Int){
        let tempA=a
        a=b
        b=tempA
    }
    
    
    //返回Tuple类型
    func minMax(array: [Int]) -> (min: Int, max: Int){
        var currentMin = array[0]
        var currentMax = array[0]
        for value in array[1..<array.count] {
            if value < currentMin {
                currentMin = value
            } else if value > currentMax {
                currentMax = value
            }
        }
        return (currentMin, currentMax)
    }

myObject.averageNumber(10,90,30,80,50,100)

var data1=100
var data2=200
myObject.swap(&data1,b: &data2)


let range=myObject.minMax([3,-9,23,15,-45,7])
print("max=\(range.max), min=\(range.min)")

相关文章

网友评论

      本文标题:方法

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