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

Swift学习之小记(持续更新),第1张

概述       1、KeyType的唯一限制就是可哈希的        这样可以保证它是独一无二的,所有的 Swift 基本类型(例如String,Int, Double和Bool)都是默认可哈希的,并且所有这些类型都可以在字典中当做键使用。未关联值的枚举成员(参见枚举)也是默认可哈希的。        2、函数定义方式: func 函数名(变量名1:变量类型,变量名2:变量类型)->返回值类型{

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"
总结

以上是内存溢出为你收集整理的Swift学习之小记持续更新)全部内容,希望文章能够帮你解决Swift学习之小记(持续更新)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1060105.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-25
下一篇 2022-05-25

发表评论

登录后才能评论

评论列表(0条)

保存