Swift学习之小记(持续更新)

       1、KeyType的唯一限制就是可哈希的

       这样可以保证它是独一无二的,所有的 Swift 基本类型(例如String,Int, Double和Bool)都是默认可哈希的,并且所有这些类型都可以在字典中当做键使用。未关联值的枚举成员(参见枚举)也是默认可哈希的。

       2、函数定义方式:

func  函数名(变量名1:变量类型,变量名2:变量类型)->返回值类型{
      函数主体
}

eg:

func sayHello(personName: String) -> String { 
    let greeting = "Hello, " + personName + "!" 
    return greeting 
} 

       注意:函数如果返回多个值,将以元组形式存在。

func count(string: String) -> (vowels: Int, consonants: Int, others: Int) { 
    var vowels = 0, consonants = 0, others = 0 
    for character in string { 
        switch String(character).lowercaseString { 
        case "a", "e", "i", "o", "u": 
            ++vowels 
        case "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", 
        "n", "p", "q", "r", "s", "t", "v", "w", "x", "y", "z": 
        ++consonants 
        default: 
        ++others 
        } 
    } 
    return (vowels, consonants, others) 
} 

       您可以使用此计数函数来对任意字符串进行字符计数,以检索一个包含三个指定Int值的元素统计总数:

let total = count("some arbitrary string!") 
println("\(total.vowels) vowels and \(total.consonants) consonants") 
// prints "6 vowels and 13 consonants" 

       注意:这一点上元组的成员不需要被命名,元组是从函数中返回的,因为它们的名字已经被指定为函数的返回类型的一部分。

       3、外部参数名称速记

       如果你想为一个函数提供一个外部形参名,然而本地形参名已经使用了一个合适的名称了,那你就不需要两次书写该形参的名称。相反,你可以写一次名字,并用一个hash符号(#)作为名称的前缀。这就告诉Swift使用名称相同的本地行参名称和外部形参名称。

       这个例子定义了一个名为containsCharacter的函数,通过在本地形参名前添加hash符号(#)来定义外部形参名称。

func containsCharacter(#string: String, #characterToFind: Character) -> Bool { 
    for character in string { 
        if character == characterToFind { 
            return true 
        } 
    } 
    return false 
} 

       该函数对形参名的选择使得其函数主题更加清晰易读,并且在调用该函数时也不会有歧义:

let containsAVee = containsCharacter(string: "aardvark", characterToFind: "v") 
// containsAVee equals true, because "aardvark" contains a "v" 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fswy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值