Swift中74个内置函数介绍

今天看到一篇关于swift中内置函数文章,发现有好多方便好用的swift内置函数,大家都没发现,今天在这里给大家介绍一下,我是整理别人的文章,尊重原创,原文链接
Swift包含了74个内置函数,但在 The Swift Programming Langage 一书中只介绍了其中的7个,其它的都没有在文档中体现。
这篇文章列举出了所有的Swift库函数。文中所谓的 内置函数 是指无需引入任何模块(比如说Fundation等)即可以直接使用的函数。
下面先来看看7个在文档中提到的库函数:

下面列出一些很实用,但未在文档中体现的库函数

<pre>
//断言,参数如果为true则继续,否则抛出异常
//assert mentioned on page 55
assert(true)
</pre>

<pre>
// 返回所有参数中的最小值
// min mentioned on page 246
min(8, 2, 3) == 2
</pre>

<pre>
// abs(signedNumber):返回数字的绝对值
// min mentioned on page 246
min(8, 2, 3) == 2
</pre>

<pre>
// dump(object):打印出某个对象object的所有信息
var languages = ["Swift", "Objective-C"]
dump(languages)
// Prints:
// ▿ 2 elements
// - [0]: Swift
// - [1]: Objective-C
</pre>

<pre>
// indices(sequence):返回序列sequence中所有元素的位置(indices是index的复数)
var language = ["Swift","Objective-C"]
for i in language.indices {
print("i= \(i)")
}
// i= 0
// i= 1
</pre>

<pre>
// join(separator, sequence):将序列sequence通过分隔符separator连成一个字符串,并返回此字符串。
var language = ["Swift","Objective-C"]
min(8, 2, 3) == 2
print(language.joined(separator: "<<<>>>"))
//Swift<<<>>>Objective-C
</pre>

关于Swift的一些高级操作,如reduce,map,filter,请看CocoaChina这篇文章,我认为讲的很详细 文章链接

<pre>
//reversered()返回逆序的序列
let numbers = [23,56,34,75,456]
for i in numbers.reversed() {
print(i)
}
//456
//75
//34
//56
//23
</pre>

<pre>
镜像Mirror的使用
struct Person {
var name: String
var age: Int
var weight:Double
}
let person:Any = Person(name: "13", age: 12,weight:99)
dump(person)
做个简单的对象转字典
func anyObjectConvertDic(any: Any) -> [String: Any]? {
var dic: [String: Any] = [:]
for children in Mirror.init(reflecting: any).children {
dic[children.label!] = children.value
}
return dic
}
print(anyObjectConvertDic(any: p))

//▿ Person
// - name: "张三"
// - age: 34
// - weight: 135.0
// Optional(["name": "张三", "age": 34, "weight": 135.0])
</pre>

是不是帅掉渣了,其他的就不在这里赘述了,如果想看其他,请点击上方的链接,不过有些在swift3.0上已经过时了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 有文章说,每天给自己留5分钟时间发呆,有助于改善失眠和心理问题。 说起发呆,很多人都有这种体会,当遇到什么事情一筹...
    张金图阅读 288评论 0 0
  • 相思入骨夜难眠, 辗转反侧空叹息。 凭栏观星流月色, 却道伊人在何方?
    寸草945阅读 438评论 0 5
  • 10:00观察早上去武汉,陈诚跟李敏等我好久,没有半点责怪我。见到我就赶紧和刘星蓝朵奕鸣碰头。 心得:在大公益的连...
    徐丽红阅读 185评论 1 0
  • 那个能让你笑得最灿烂的人,定是能让你哭的最伤心的人
    蓝色木毓易阅读 559评论 0 0