方法

方法参数

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)")
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容