Swift高级开发语言--函数

来源:互联网 发布:易趣网和淘宝网的不同 编辑:程序博客网 时间:2024/05/18 10:28
var str = "Hello, playground"// 函数// 语法格式//func name (参数列表)->返回值 {//    函数实现体//}//无参,无返回值func hello1() {    print("hello1")}func hello2() -> Void {    print("hello2")}// 函数调用hello1()// 有参// 1.关于内部参数名// 只在函数作用域内部使用的参数名func hello3Name(name:String, name2:String) {    print("你好\(name) and \(name2)")}// 除了第一个参数,后面的参数在调用的时候会自动生成一个与内部参数名相同的外部参数名// 原则上,第一个参数的外部参数名应该写在函数名的末尾hello3Name("李云龙", name2: "楚云飞")func hello4Name (mingzi1 name:String, mingzi2 name2:String) {    print("你好\(name) and \(name2)")}// 外部参数名的添加规则,在内部参数名前面声明中间用空格隔开hello4Name(mingzi1: "李云龙", mingzi2: "楚云飞")// 使用占位符_, 省略掉自动生成的外部参数名func hello5 (name:String, _ name2:String){    print("你好\(name) and \(name2)")}hello5("李云龙", "楚云飞")// 可以为参数赋初始值,调用时传参则更改,不传参使用初始值func hello6 (name:String = "李云龙", name2:String = "楚云飞"){    print("你好\(name) and \(name2)")}hello6()hello6(name2: "仝兴伟")// ***************关于参数  到此结束// 有返回值情况// 返回值直接给类型func byebye1() -> String {    return "xiake"}byebye1()func byebye2(number1:String) -> (Int, Int) {    var num1 = 0    var num2 = 0    for tempStr in number1.characters{    switch tempStr{    case "a", "e", "i", "o", "u":        num1++    default:        num2++        }    }    return (num1, num2)}byebye2("aasgfas")// 不确定参数个数, 参数个数可变func count1 (numbers:Int...) -> Int {    var sum = 0    // 不确定个数的参数作为数组使用    for num in numbers {        sum += num    }    return sum}count1(1,2,33,5,43,3)// 参数在函数体内是不可变的,用var修饰之后才可变func count3 (var a:Int, b:Int) -> Int {    a = a + b   return a}var c = 10c = count3(c, b: 0)c// inout 修饰参数,将外部变量的地址传进来,从而改变外部变量的值func changValue (inout a: Int) {    a++}changValue(&c)c
0 0
原创粉丝点击