大家好,我是boy哥。

官方文档永远是最权威的,但看英语毕竟不如看母语方便。

很多刚开始学Swift的同学直接去撸苹果的官方文档了,其实Github上早已有完整的中文翻译教程,而且目前还在持续更新中。

这个开源项目由 SwiftGGTeam 发起的,他们的目标是打造中国第一Swift翻译团队,应该说这个工作量还是不小的。

https://github.com/SwiftGGTeam/the-swift-programming-language-in-chinese


ios swift4 学习 swift官方教程中文版_ios swift4 学习

项目使用GitBook制作的,可以在线阅读,原文和翻译版网址如下。

英文原文在线版:https://docs.swift.org/swift-book/中文翻译版:swiftgg.gitbook.io/swift/


▍SwiftGG中文翻译



ios swift4 学习 swift官方教程中文版_swift中文文档_02


前端页面简单舒服,上来直接给干货,Swift 编程语言的各种用法全部奉上。

ios swift4 学习 swift官方教程中文版_swift中文文档_03

▍翻译内容节选


节选三个小部分,翻译内容基本还原。 函数的定义与调用

当你定义一个函数时,你可以定义一个或多个有名字和类型的值,作为函数的输入,称为参数,也可以定义某种类型的值作为函数执行结束时的输出,称为返回类型。 每个函数有个函数名,用来描述函数执行的任务。要使用一个函数时,用函数名来“调用”这个函数,并传给它匹配的输入值(称作实参)。函数的实参必须与函数参数表里参数的顺序一致。 下面例子中的函数的名字是 greet(person:),之所以叫这个名字,是因为这个函数用一个人的名字当做输入,并返回向这个人问候的语句。为了完成这个任务,你需要定义一个输入参数——一个叫做 person 的 String 值,和一个包含给这个人问候语的 String 类型的返回值:

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


闭包表达式语法

闭包表达式语法有如下的一般形式:

{ (parameters) -> return type in
    statements
}


闭包表达式参数 可以是 in-out 参数,但不能设定默认值。如果你命名了可变参数,也可以使用此可变参数。元组也可以作为参数和返回值。 下面的例子展示了之前 backward(_:_:) 函数对应的闭包表达式版本的代码:

reversedNames = names.sorted(by: { (s1: String, s2: String) -> Bool inreturn s1 > s2
})


需要注意的是内联闭包参数和返回值类型声明与  backward(_:_:) 函数类型声明相同。在这两种方式中,都写成了 (s1: String, s2: String) -> Bool。然而在内联闭包表达式中,函数和返回值类型都写在大括号内,而不是大括号外。

枚举语法

使用 enum 关键词来创建枚举并且把它们的整个定义放在一对大括号内:


enum SomeEnumeration {// 枚举定义放在这里
}


下面是用枚举表示指南针四个方向的例子:

enum CompassPoint {case northcase southcase eastcase west
}


枚举中定义的值(如 north

south

east

west

)是这个枚举的成员值(或成员)。你可以使用 case

关键字来定义一个新的枚举成员值。 感兴趣的朋友可以去收藏这个网站。中文翻译版:swiftgg.gitbook.io/swift/ 如果觉得有帮助,不妨分享和点个在看。

- end -