Welcome to Swift

来源:互联网 发布:51单片机入门 编辑:程序博客网 时间:2024/06/14 12:09

苹果发布了新的语言Swift。瞬间成为苹果开发者们讨论的话题。下定决心把《The Swift Programming Language》给全翻译了,既学习了新语言,又能加强英语。Do it !


Welcome to Swift

关于Swift

Swift 是一门新的编程语言对于iOS 和OS X应用程序,它基于最好的编程语言C和 Objective-c,并且没有C兼容性的约束。swift采用了安全编程模式并增加了现代特性,使编程更加简单、灵活、有趣。 它还支持成熟并且流行的Cocoa和Cocoa Touch框架,这是一个重新设想该软件开发工作的机会。

swift 已经开发多年。苹果早已为swift奠定了基础,通过改进现有的编译器,调试器,框架结构。我们用ARC简化了内存管理。我们的框架栈,建立在基本的框架和cocoa上,并都现代化和标准化了。objective-c本身已经支持blocks,collect literals和modules,确保了框架采用现代语言技术。多亏了这些奠定基础,为了苹果软件开发的将来,我们现在开始介绍一门全新的语言。

oc开发者会感觉swift很亲切。它采用了OC命名参数方式和动态对象模型。可以使用现有的cocoa框架,与oc代码混编。swift包括很多新特性,是面向过程和面向对象的编程语言。

对于新手swift是友好的。它是第一个工业级质量系统语言,就像富有表现力和愉快的脚本语言一样。它支持后台,这个创新的功能能让程序员在不编译运行swif代码的情况下就可以立即看到结果。

swift很好的结合了现代语言思想和苹果工程师们智慧。为了性能优化了编译器,为了开发优化了语言,两者互补干扰。从设计一个“hello world”缩放到设计一个完整的操作系统。所有的这些使得swift将得到投资对于开发者和苹果。

swift是一个极妙的方式用了编写iOS 和 OS X程序,并且还会继续开发新的特性提高兼容性。我们对于swift是充满信心的,我们已经迫不及待看到你使用它来创造了。


简单值

swift一览
通常学习一门新编程语言的第一个程序是“Hello,world”.在swift中,就是这么简单的一行。

println("Hello, world") 

如果你写过c或者objective-c,这个语法开起来应该很熟悉。在swift中,这行代码就是一个完整的程序。你不再需要导入一个单独的库对于一些功能,如:输入/输出或者字符串处理。编写的代码在全局范围内都是程序的入口点,所以你不再需要main函数了。也不用在每条语句后面加上分号了。这个一览会给你足够多的信息向你展示如何完成各种各样的编程任务。不必当心现在还不理解,本书后面的部分会详细的介绍。

使用let声明一个常量,var声明一个变量。一个常量的值不需要在编译时被知道,但是你必须给它付一次正确的值。也就是说一旦你使用常量去命名一个值就可以在很多地方使用。

varmyVariable = 42 myVariable = 50 letmyConstant = 42 


一个常量或者是一个变量必须要是相同的类型当你给它赋值的时候。然而,你不必总是显式的写出来。当你创建一个常量或者变量的时候提供一个值,编译器会帮你判断它的类型。上面的例子中,编译器推断出myVariable是一个整型因为它的初始化值是一个整型。

如果初始化值没有提供足够多的信息(或者没有初始化值),可以在这个变量的后面用冒号:隔开,来指定它的类型。

letimplicitInteger = 70letimplicitDouble = 70.0letexplicitDouble:Double = 70

试一试:

显式的建一个Float的常量,并且值为4.

这些值不能隐式的转换为其他类型。如果你要转换值的类型,需要显式的写出你要转换的类型。

letlabel = "The width is " letwidth = 94 letwidthLabel = label + String(width)


试一试:

看看删除最后一行那个String,会得到什么错误?

有个比较简单的方法来格式化字符串:把值写在括号里面(),在括号前面加个反斜杠\,比如:

letapples = 3 letoranges = 5 letappleSummary = "I have \(apples) apples." letfruitSummary = "I have \(apples +oranges) pieces of fruit." 


试一试:

用\()格式化一个浮点计算为字符串,并加上人名和问候语。

创建数组和字典用方括号[],用下标和关键字去访问里面的元素。

varshoppingList = ["catfish","water","tulips", "blue paint"] shoppingList[1] = "bottle of water" varoccupations = [ "Malcolm":"Captain","Kaylee":"Mechanic",]occupations["Jayne"] = "Public Relations" 


可以使用初始化语句,来创建一个空数组或者字典。

 letemptyArray = String[]()  letemptyDictionary = Dictionary<String,Float>()

如果可以推断出类型,你可以用[]来写一个空数组,[:]字典——例如,当你为一个变量设一个新值或是为一个函数传参数的时候。

shoppingList = [] // Went shopping and bought everything. 


0 0
原创粉丝点击