D码点评:22 swift

home-hero-swift-hero.png(PNG 图像,200x200 像素)

今天凌晨已经有人在微信圈发布招聘信息曰:

急招 iOS 工程师,要求 Swift 语言,开发经验一天以上!

在 Swift 发布前,iOS 和 OS X 的开发语言是 Objective C,这是一款已经三十多岁的编程语言,并且其语法十分之吊诡,和其他 C 语言风格的编程语言有着极大的区别. 因此,让许多想转做 iOS 端应用开发的程序猿纷纷吐槽,”为什么 Objective C 这么难学?!”即便是一些已经在做 iOS 端开发的程序猿也表示,如果不是苹果只支持 Objective C,自己其实并不想用 Objective C 做开发.

因此,苹果此次发布的 Swift 这款语法更为简洁的,兼容 Objective C 的语言. 而在其开发者指南中,我们可以看到 Swift 从 Python 和 Java Script 中学得了许多东西,从而让 Swift 更为易读,或者说更为”口语化”.

![SwiftTour_2x.png(PNG 图像,640x570 像素)](https://developer.apple.com/library/prerelease/ios/referencelibrary/GettingStarted/LandingPage/Art/SwiftTour_2x.png

参考: The Swift Programming Language: About Swift

让我们看看具体的代码:

println("Hello, world")

对比Python 的:

print("Hello, world")

嗯嗯嗯,明白了点什么吧…

值声明:

var myVariable = 42     //变量
myVariable = 50
let myConstant = 42     //常量

基础数据/控制结构:

let individualScores = [75, 43, 103, 87, 12]
var teamScore = 0
for score in individualScores {
    if score > 50 {
        teamScores += 3
    } else {
        teamScores += 1
    }
}
println(teamScore)

for-in 算子:

let interestingNumbers = [
    "Prime": [2, 3, 5, 7, 11, 13],
    "Fibonacci": [1, 1, 2, 3, 5, 8],
    "Square": [1, 4, 9, 16, 25],
]
var largest = 0
for (kind, numbers) in interestingNumbers {
    for number in numbers {
        if number > largest {
            largest = number
        }
    }
}

函式声明:

func greet(name: String, day: String) -> String {
    return "Hello \(name), today is \(day)."
}
greet("Bob", "Tuesday")

函数可以接受可变参数个数,收集到一个数组中:

func sumOf(numbers: Int...) -> Int {
    var sum = 0
    for number in numbers {
        sum += number
    }
    return sum
}
sumOf()
sumOf(42, 597, 12)

函式可以嵌套:

func returnFifteen() -> Int {
    var y = 10
    func add() {
        y += 5
    }
    add()
    return y
}   //by gashero
returnFifteen()

函数传递:

func makeIncrementer() -> (Int -> Int) {
    func addOne(number: Int) -> Int {
        return 1 + number
    }
    return addOne
}
var increment = makeIncrementer()
increment(7)

等等…

总之这是一种可以混入 Object-C 长的象 JS 的 Python 脚本语言了 ;-)

是也乎

6.1 之后的 WWDC 2014 上,最大的明星就是这款已经在 Apple 内部运用不少年头的全新语言了!

之前 Google 连续发布了 Go/Dart 编程语言,以及 GAS 等开发平台云, 现在 Apple 果断也坐不住了, 在保存了 Object-C 的以往优势后, 融合了全新现代语言的特性,开始兼顾学习/执行效率.

那么中国本土IT 公司都有什么类似的行为呢?

其实是有的,只是无法营造出 WWDC 这种大舞台来展示而已.

所以? 尽情的折腾吧!

中文的入门教程已经有了: Apple Swift编程语言入门教程 - gashero的Geek前哨 - ITeye技术网站

而且已经有人用 Swift 将Flappy重写了一次:

  • https://github.com/fullstackio/FlappySwift

巡阅

2014-06-03  

声明: 本文采用 BY-NC-SA 授权。转载请注明转自: #ZHGDG#


以上...


加入 珠海GDG

  1. 注册 Meetup
  2. 关注 Zhuhai GDG
  3. 或扫描: 2meetup

通过 珠海GDG 可以:

    第一时间获知谷歌最新技术,
    可以学到如何去谷歌平台上赚钱的思路和方法,
    可以认识很多有可能将来一起走上自己创业道路的人,
    可以学会把你的创新带向国际市场,
    参加那里的活动有经常和国际上的开发者们进行交流的机会...

PS:

若无意外,题图都是从原文提取或是通过 Google 图片搜索出来的, 版权属左, 不负责任 ;-)

PPS:

珠海GDG 微信/Blog 欢迎投稿,只要追自认内容吻合以下条件:

0. 有趣 ~ 至少是自个儿有兴趣的领域吧...
1. 有料 ~ 至少有点儿原创的东西吧..
2. 有种 ~ 至少不能是成功学吧!

有好物请及时通过邮件列表投稿成也: [email protected]
(发空邮件到 [email protected] 即完成订阅)

微信公号

栏目设定:

    G术图书 (gb:推荐好书,书无中外)
    D码点评 (dd:麻辣评点,善意满盈)
    G说公论 (gt:时评杂文,新旧不拘)
    珠的自白(dm:大妈自述,每周一篇)
    海选文章(hd:得要相信,大妈法眼)

总之, 请大家告诉大家, 珠海生活中的技术社区 都来订阅呗 ;-)

订阅方法

hacker emblem

GDG珠海 社区资源:

大妈的多重宇宙 - YouTube

全新自媒体系列...科学幻想,读书,说故事...

任何问题

随时邮件提问可也:
[email protected]