Swift中共同拥有74个内建函数,可是在Swift官方文档(“The
Swift Programming Language
”)中仅仅记录了7中。剩下的67个都没有记录。
本文将列举Swift全部的内建函数。本文中提到的所谓的内建函数是指那些在Swift中不须要导入不论什么模块(如Foundation等)或者引用不论什么类就能够使用的函数。

abs(signedNumber): 返回给定的有符号数字的绝对值。

非常easy。可是没有在文档中记录。

    1. abs(-1) == 1
    1. abs(-42) == 42
    1. abs(42) == 42
 
contains(sequence, element): 假设给定的序列(如数组)包括特定的元素,则返回true。
    1. var languages = ["Swift", "Objective-C"]
    1. contains(languages, "Swift") == true
    1. contains(languages, "Java") == false
    1. contains([29, 85, 42, 96, 75], 42) == true
 
dropFirst(sequence): 返回一个去掉第一个元素的新序列(如数组)。

    1. var languages = ["Swift", "Objective-C"]
    1. var oldLanguages = dropFirst(languages)
    1. equal(oldLanguages, ["Objective-C"]) == true
 
dropLast(sequence): 返回一个的新序列(如数组),该序列去掉作为參数传递给函数的最后一个元素。

    1. var languages = ["Swift", "Objective-C"]
    1. var newLanguages = dropLast(languages)
    1. equal(newLanguages, ["Swift"]) == true
 
dump(object): 一个对象的内容转储到标准输出。

    1. var languages = ["Swift", "Objective-C"]
    1. dump(languages)
    1. // Prints:
    1. // ?
    1. 2 elements
    1. // - [0]: Swift
    1. // - [1]: Objective-C
 
equal(sequence1, sequence2): 假设序列1和序列2包括同样的元素,则返回true。
    1. var languages = ["Swift", "Objective-C"]
    1. equal(languages, ["Swift", "Objective-C"]) == true
    1. var oldLanguages = dropFirst(languages)
    1. equal(oldLanguages, ["Objective-C"]) == true
 
filter(sequence, includeElementClosure): 返回序列的一个元素,这个元素满足includeElementClosure所指定的条件。

    1. for i in filter(1...100, { $0 % 10 == 0 })
    1. {
    1. // 10, 20, 30, ...
    1. println(i)
    1. assert(contains([10, 20, 30, 40, 50, 60, 70, 80, 90, 100], i))
    1. }
 
find(sequence, element): 再给定的序列中返回一个指定的索引,假设在序列中没有找到这个元素就返回nil。

    1. var languages = ["Swift", "Objective-C"]
    1. find(languages, "Objective-C") == 1
    1. find(languages, "Java") == nil
    1. find([29, 85, 42, 96, 75], 42) == 2
 
indices(sequence): 在指定的序列中返回元素的索引(零索引)。
    1. equal(indices([29, 85, 42]), [0, 1, 2])
    1. for i in indices([29, 85, 42]) {
    1. // 0, 1, 2
    1. println(i)
    1. }
 
join(separator, sequence): 返回一个由给定的分隔符分离出来的序列的元素。
    1. join(":", ["A", "B", "C"]) == "A:B:C"
    1. var languages = ["Swift", "Objective-C"]
    1. join("/", languages) == "Swift/Objective-C"
 
map(sequence, transformClosure): 假设transformClosure适用于所给序列中全部的元素,则返回一个新序列。
    1. equal(map(1...3, { $0 * 5 }), [5, 10, 15])
    1. for i in map(1...10, { $0 * 10 }) {
    1. // 10, 20, 30, ...
    1. println(i)
    1. assert(contains([10, 20, 30, 40, 50, 60, 70, 80, 90, 100], i))
    1. }
 
max(comparable1, comparable2, etc.): 返回函数所给參数中的最大值。

    1. max(0, 1) == 1
    1. max(8, 2, 3) == 8
 
maxElement(sequence): 返回所给序列的同类元素中的最大元素。
    1. maxElement(1...10) == 10
    1. var languages = ["Swift", "Objective-C"]
    1. maxElement(languages) == "Swift"
 
minElements(sequence): 返回所给序列的同类元素中的最小元素。
    1. minElement(1...10) == 1
    1. var languages = ["Swift", "Objective-C"]
    1. minElement(languages) == "Objective-C"
 
reduce(sequence, initial, combineClosure): 从第一个初始值開始对其进行combineClosure操作,递归式地将序列中的元素合并为一个元素。
    1. var languages = ["Swift", "Objective-C"]
    1. reduce(languages, "", { $0 + $1 }) == "SwiftObjective-C"
    1. reduce([10, 20, 5], 1, { $0 * $1 }) == 1000
 
reverse(sequence): 返回所给序列的倒序。
    1. equal(reverse([1, 2, 3]), [3, 2, 1])
    1. for i in reverse([1, 2, 3]) {
    1. // 3, 2, 1
    1. println(i)
    1. }
 
startsWith(sequence1, sequence2):假设序列1和序列2的起始元素相等,则返回true。
    1. startsWith("foobar", "foo") == true
    1. startsWith(10..100, 10..15) == true
    1. var languages = ["Swift", "Objective-C"]
    1. startsWith(languages, ["Swift"]) == true
 
例如以下列表为Swift中的74个内建函数。上文所描写叙述的函数是我觉得在日常开发中比較实用处的。当然我可能遗漏了一些经常使用函数。欢迎大家在评论中讨论,而且请用一个简短的代码段来展示怎样使用该函数。
    1. abs(...)
    1. advance(...)
    1. alignof(...)
    1. alignofValue(...)
    1. assert(...)
    1. bridgeFromObjectiveC(...)
    1. bridgeFromObjectiveCUnconditional(...)
    1. bridgeToObjectiveC(...)
    1. bridgeToObjectiveCUnconditional(...)
    1. c_malloc_size(...)
    1. c_memcpy(...)
    1. c_putchar(...)
    1. contains(...)
    1. count(...)
    1. countElements(...)
    1. countLeadingZeros(...)
    1. debugPrint(...)
    1. debugPrintln(...)
    1. distance(...)
    1. dropFirst(...)
    1. dropLast(...)
    1. dump(...)
    1. encodeBitsAsWords(...)
    1. enumerate(...)
    1. equal(...)
    1. filter(...)
    1. find(...)
    1. getBridgedObjectiveCType(...)
    1. getVaList(...)
    1. indices(...)
    1. insertionSort(...)
    1. isBridgedToObjectiveC(...)
    1. isBridgedVerbatimToObjectiveC(...)
    1. isUniquelyReferenced(...)
    1. join(...)
    1. lexicographicalCompare(...)
    1. map(...)
    1. max(...)
    1. maxElement(...)
    1. min(...)
    1. minElement(...)
    1. numericCast(...)
    1. partition(...)
    1. posix_read(...)
    1. posix_write(...)
    1. print(...)
    1. println(...)
    1. quickSort(...)
    1. reduce(...)
    1. reflect(...)
    1. reinterpretCast(...)
    1. reverse(...)
    1. roundUpToAlignment(...)
    1. sizeof(...)
    1. sizeofValue(...)
    1. sort(...)
    1. split(...)
    1. startsWith(...)
    1. strideof(...)
    1. strideofValue(...)
    1. swap(...)
    1. swift_MagicMirrorData_summaryImpl(...)
    1. swift_bufferAllocate(...)
    1. swift_keepAlive(...)
    1. toString(...)
    1. transcode(...)
    1. underestimateCount(...)
    1. unsafeReflect(...)
    1. withExtendedLifetime(...)
    1. withObjectAtPlusZero(...)
    1. withUnsafePointer(...)
    1. withUnsafePointerToObject(...)
    1. withUnsafePointers(...)
    1. withVaList(...)

Swift的74标准功能的更多相关文章

  1. iOS开发 - Swift实现清除缓存功能

    前言: 开发移动应用时,请求网络资源是再常见不过的功能.如果每次都去请求,不但浪费时间,用户体验也会变差,所以移动应用都会做离线缓存处理,其中已图片缓存最为常见. 但是时间长了,离线缓存会占用大量的手 ...

  2. iOS Swift WisdomScanKit图片浏览器功能SDK

    iOS Swift WisdomScanKit图片浏览器功能SDK使用 一:简介      WisdomScanKit 由 Swift4.2版编写,完全兼容OC项目调用. WisdomScanKit的 ...

  3. 联想ThinkPadE455实现FN禁用(F1-F12标准功能与特殊功能切换)

    系统:Win7 64 位     机型:联想ThinkPadE455笔记本 方法一:键盘Fn热键切换功能(亲测可用) Fn+Esc   FnLk  组合键方法启用或禁用Fn锁定功能 具体说明(这个逻辑 ...

  4. Swift - 短信发送功能的实现

    使用MessageUI.framework框架可以实现短信发送功能,步骤如下: (1)首先判断设备是否有发送短信功能 (2)如果设备允许发送短信,创建一个MFMessageComposeViewCon ...

  5. swift - 表格的编辑功能(添加、删除)

    表格(tableview)的确是一个很好用的控件,现在来实现一个编辑功能的实现,包含添加和删除,删除包括长按删除和左滑删除 效果图如下: 具体代码如下: 1.创建表格(这个表格有2个区,有区头和区尾) ...

  6. 通过ABAP的标准功能,寻找源代码中的字符串

    程序名称: *ABAP_SOURCE_SCAN 查找 作用:通过这个标准程序,可以在系统的源代码中进行字符串的查找!

  7. swift 实现复制粘贴功能。

    let past = UIPasteboard.generalPasteboard() past.string = pasteboardStr // pasteboardStr就是你要复制的字符串 S ...

  8. Form_通过FND_FNDFLUPL标准功能上传CSV控件(案例)

    2014-06-08 Created By BaoXinjian

  9. Form_如何通过标准功能查找数据源(概念)

    2014-06-01 Created By BaoXinjian

随机推荐

  1. 排序算法c语言描述---冒泡排序

    排序算法系列学习,主要描述冒泡排序,选择排序,直接插入排序,希尔排序,堆排序,归并排序,快速排序等排序进行分析. 文章规划: 一.通过自己对排序算法本身的理解,对每个方法写个小测试程序. 具体思路分析 ...

  2. Java乔晓松-android中调用系统拍照功能并显示拍照的图片

    android中调用系统拍照功能并显示拍照的图片 如果你是拍照完,利用onActivityResult获取data数据,把data数据转换成Bitmap数据,这样获取到的图片,是拍照的照片的缩略图 代 ...

  3. 重新想象 Windows 8 Store Apps (4) - 控件之提示控件: ProgressRing; 范围控件: ProgressBar, Slider

    原文:重新想象 Windows 8 Store Apps (4) - 控件之提示控件: ProgressRing; 范围控件: ProgressBar, Slider [源码下载] 重新想象 Wind ...

  4. 检验身份证的正确性(Golang版本)

    // CheckID_card project main.go package main /* * ai -> a1 , a2, a3, a4, a5, a6... a17 (a18 是校验码) ...

  5. 一份关于jvm内存调优及原理的学习笔记

    JVM 一.虚拟机的基本结构 1.jvm整体架构 类加载子系统:负责从文件系统或者网络中加载class信息,存入方法区中. 方法区(Perm):存放加载后的class信息,包括静态方法,jdk1.6以 ...

  6. 香蕉派路由功Openwrt、Android功耗对照測试

    路由这个东西是要长期通电使用的,所以功耗也是须要关注的.如今香蕉派路由已经有了openwrt和android两个 系统,这两个系统的功耗是否一样呢? 測试工具:QUIGG的德国产功耗測试仪一个.手机充 ...

  7. iOS 7 新特性

      iOS7更新了很多引人注目的功能.用户界面完全重新设计了.iOS7为开发2D,2.5D游戏引入了全新的动画系统.加强多线程,点对点连接,以及许多其他重要的功能让iOS7成为有史以来最有意义的一次发 ...

  8. 添加服务引用和添加Web引用对比

    原文:添加服务引用和添加Web引用对比 在WindowsForm程序中添加服务引用和Web引用对比 为了验证书上有关Visual Studio 2010添加服务引用和Web引用的区别,进行实验. 一. ...

  9. 文件搜索神器everything 你不知道的技巧总结

    everything这个软件用了很久,总结了一些大家可能没注意到的技巧,分享给大家 1.指定文件目录搜索示例: TDDOWNLOAD\ abc        在所有TDDOWNLOAD文件夹下搜索包含 ...

  10. 为应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制

    服务器经常产生“应用程序池 'DefaultAppPool' 提供服务的进程关闭时间超过了限制.进程 ID 是 '2068'.”的错误,导致iis处于假死状态,经了解是IIS应用程序池的设置问题.解决 ...