大家好,我是boy哥。
官方文档永远是最权威的,但看英语毕竟不如看母语方便。
很多刚开始学Swift的同学直接去撸苹果的官方文档了,其实Github上早已有完整的中文翻译教程,而且目前还在持续更新中。
这个开源项目由 SwiftGGTeam 发起的,他们的目标是打造中国第一Swift翻译团队,应该说这个工作量还是不小的。
https://github.com/SwiftGGTeam/the-swift-programming-language-in-chinese
项目使用GitBook制作的,可以在线阅读,原文和翻译版网址如下。
英文原文在线版:https://docs.swift.org/swift-book/中文翻译版:swiftgg.gitbook.io/swift/
▍SwiftGG中文翻译
前端页面简单舒服,上来直接给干货,Swift 编程语言的各种用法全部奉上。
▍翻译内容节选
节选三个小部分,翻译内容基本还原。 函数的定义与调用
当你定义一个函数时,你可以定义一个或多个有名字和类型的值,作为函数的输入,称为参数,也可以定义某种类型的值作为函数执行结束时的输出,称为返回类型。
每个函数有个函数名,用来描述函数执行的任务。要使用一个函数时,用函数名来“调用”这个函数,并传给它匹配的输入值(称作实参)。函数的实参必须与函数参数表里参数的顺序一致。
下面例子中的函数的名字是 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 -