Swift高级开发语言--函数

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 = 10
c = count3(c, b: 0)
c

// inout 修饰参数,将外部变量的地址传进来,从而改变外部变量的值
func changValue (inout a: Int) {
    a++
}
changValue(&c)
c


























  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值