新的语言
WWDC简短的介绍,新的语言Swift就问世了,虽然新语言的名字导致贴吧下歌手粉丝和开发者们争抢地盘- -,不过雨燕就是这么来了。
WWDC keynote里给Swift打上了很多标签:
Closures,Generics,Namespaces,Type inference,Multiple return types
闭包,泛型支持,支持命名空间,去除隐式类型转换,多返回值等这些优秀的特性让这门语言显得现代和便捷,再加上学习了很多其他语言类似Go,JavaScript等等的优秀语法,它同时兼具编译语言的高性能和脚本语言的交互性,也许这些促成了Apple拿它来取代Objective-C的原因。这篇文章主要对常用语法进行简单概述。
简单的赋值与打印
let l = "hello" //常量赋值,Swift里面";"不是必要的
var v = "world" //变量赋值
println(l) //使用println来进行log
println("nihao \(v)")//使用\()来格式化输出
显式的声明类型
var str : String = "nihao"
var numStr = "4"
var realNumber =5
var sum = numStr + realNumber//这么写编译器会提示error 因为不支持隐式的类型转换
当声明类型时,如果没有明显的生命为String, 编译器也会进行类型推导(Type inference),认为它是String类型的。所以在类型上面去除了OC的弊端后,让错误及早的显现出来。
Optional
但是如果想要实现上面的运算,其实也是能够实现的,这里需要引入一种新的概念Optional.
借助"?""!"来实现。
当我们不确定这个值是否现