Swift 新语言开发「建议收藏」

Swift 新语言开发

大家好,又见面了,我是全栈君。

技术支持热线:http://www.lcpower.cn


全书文件夹:

一、Welcome to Swift

二、Language Guide

三、Language Reference

 

/*

译者的废话:

几个小时前熬夜看了WWDC,各种激动,今年非常有料啊!当看到Swift出来的时候,瞬间傻眼。又要学习新语言了。

这篇文章来自苹果官方的《The Swift Programming Language》一书,500页左右,在苹果官网有下载。Swift大家都没实际用过。本翻译一定是有各种错漏的,各位多多包涵。我会不断更新修正的。

——(博客园、新浪微博)葛布林大帝

*/

 

一、Welcome to Swift

1.关于Swift

  Swift是一种用于iOS和OS X应用的全新编程语言,它建立在最好的C和Objective-C语言中,而且没有C语言的兼容性限制。Swift採用安全的编程模式,添加了现代功能使编程更easy、更灵活、更有趣。

Swift背靠成熟且备受宠爱的Cocoa 和 Cocoa Touch框架的支持,这是一个又一次构想软件开发的机会。

  Swift经过了数年的酝酿,Apple通过改进现有的编译器、调试器和框架结构奠定了Swift的基础,并通过Automatic Reference Counting(ARC)简化了内存管理。Swift的框架建立在坚实的Foundation和Cocoa上。已实现现代化和彻底标准化。 Objective-C本身已经逐步发展到到支持blocks、 collection literals 和modules,使框架採用不中断的现代语言技术。感谢这个基础。我们能够为Apple软件发展的未来引入一种新语言。

  对Objective-C开发人员来说Swift看起来非常熟悉。它具有Objective-C命名參数的可读性和动态对象模型的力量,提供了无缝接入现有Cocoa框架和与Objective-C混编的能力。

建立在这个共同点上,Swift引入了很多新的特性、统一的程序和面向对象的语言部分。

   Swift对于新程序猿是友好的。作为一个具有表现力和娱乐性的脚本语言,它是第一个获得工业品质的系统编程语言。它支持playgrounds。一个同意程序猿调试Swift代码并马上看到结果,而无需重复编译执行程序的新功能。

   Swift结合了最好的现代语言思维和智慧 – 来自广大的苹果project师文化。

编译器针对性能进行了优化。语言也进行了发展优化,而无需不论什么牺牲。它的设计从“Hello World”扩展到整个操作系统,这一切使得Swift对于开发人员和Apple是一个有意义的投资。

   Swift以极好的方式来编写的iOS和OS X应用,并将继续发展与新特性和功能。Swift充满野心。我们已经迫不及待看你能用它创造什么。

 

2.Swift概览

  传统建议新语言的第一个程序应该打印“Hello, World”在屏幕上。在Swift里这仅仅须要一行来完毕。

  Swift 新语言开发「建议收藏」

  假设你在C或Objective-C语言编写过代码。这个语法看起来会非常熟悉 —— 在Swift里,这行代码是一个完整的程序,你不须要为input/output或字符串处理等功能导入一个单独的库。写在全球范围的代码都作为函数的入口点,所以你并不须要一个main函数。也不必在每一个语句的末尾写分号。

  这次概览通过展示怎样完毕各种程序任务来给你足够的信息開始编写Swift代码,假设你不明确的地方。不要操心。这个概览里的一切细节都会在本书后面详解。

   注:为获得最佳体验,在Xcode里把本章作为一个playground打开,playground同意你编辑代码清单。并马上看到结果。

 

2.1.简单值

  使用let创建一个常量,var创建一个变量。一个常量的值并不须要在编译时是已知的,但你必须给它分配一个值一次,这意味着您能够使用常量来命名一个你决定在很多地方使用的值。

  Swift 新语言开发「建议收藏」

  常量或变量必须有同样的类型,你要分配给它的值。然而。你并不总是必须明白写出类型。提供一个值,当您创建一个常量或变量能够让编译器判断出其类型。

在上面的演示样例中,编译器判断出myVariable是整数,由于它的初始值是一个整数。

 

  假设初始值没有提供足够的信息(或者假设没有初始值)。能够在改变后制定类型。用冒号隔开。

  Swift 新语言开发「建议收藏」

  试验:创建一个常数,明白为float类型,而且值为4

 

  值永远不会绝对转换为还有一种类型。假设你须要一个值转换为不同的类型,明白地创建一个所需类型的实例。

  Swift 新语言开发「建议收藏」

  试验:尝试从最后一行除去String的转换,你得到了什么错误?

 

  另一个更简单的方法包括字符串值:把值写在括号里 ,并在括号前写一个反斜线(\)。

比如:

  Swift 新语言开发「建议收藏」

  试验:使用(\),在一个string里包括一个浮点计算,并在一个greeting里包括某个人的名字。

 

  使用方括号([])创建数组和字典,并在括号里写出index和key来訪问它们的元素。

   Swift 新语言开发「建议收藏」

 

  要创建一个空数组或字典。使用初始化语法。

  Swift 新语言开发「建议收藏」 

 

  假设类型信息能够判断,你能够写一个空数组为[]和一个空字典为[;] ——比如。当你设置一个变量的新值或參数传递给函数。

  Swift 新语言开发「建议收藏」

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/115236.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 二分法注意点_二分法怎么用

    二分法注意点_二分法怎么用思路我相信对很多读者朋友来说,编写二分查找的算法代码属于玄学编程,虽然看起来很简单,就是会出错,要么会漏个等号,要么少加个1。不要气馁,因为二分查找其实并不简单。思路很简单,细节是魔鬼。本文以问答的形式,探究几个最常用的二分查找场景:寻找一个数、寻找左侧边界、寻找右侧边界。而且,我们就是要深入细节,比如不等号是否应该带等号,mid是否应该加一等等。分析这些细节的差异以及出现这些差异的原因,保证你能灵活准确地写出正确的二分查找算法。零、二分查找框架intbinarySearch(int[]

    2022年10月25日
  • 参加persist.sys物业写权限的方法

    参加persist.sys物业写权限的方法

  • Silverlight传值「建议收藏」

    Silverlight传值「建议收藏」Silverlight页面之间传值的。主要是使用独立存储的IsolatedStorageSettings对象,首先需要创建对象privateIsolatedStorageSettingsappSettings=IsolatedStorageSettings.Applic

    2022年10月18日
  • JAVA: String转JsonArray

    JAVA: String转JsonArrayStringstr=”…”;JsonArrayjsonArray=newJsonParser().parse(str).getAsJsonArray();JsonObjectjsonObject=jsonArray.get(0).getAsJsonObject();StringtempId=jsonObject.get(“SUBJECT_DIRECTOR_ID”).getAsString();

  • 工程师的基本功是什么?如何练习?—学习心得分享「建议收藏」

    开头聊几句1、周末休息,今天下雨了,气温还行,不冷不热2、刚看完《这!就是街舞》,很燃很炸,一些作品表达的东西也很让人感动3、发现真正热爱的事情,并为之付出所有的能量,很让人羡慕开头周四上线到比较晚,好在中间有空,去公司楼下湖边散了散步,上线回到家,已经是凌晨了。周五中午在去公司的路上看到了美团技术团队的一篇文章,觉得很不错,值得学习,也分享到朋友圈了,希望保留下方便自己查阅,也分享给更多的技术伙伴,一起看好的文章。在技术之路上,不断的持续学习,持续进步,一起精进。那天朋友圈分享美团的这

  • js正则 手机号_正则表达式 手机号

    js正则 手机号_正则表达式 手机号RegExp对象正则表达式是描述字符模式的对象。正则表达式用于对字符串模式匹配及检索替换,是对字符串执行模式匹配的强大工具。//匹配手机号//varres=/^[1][3,4,5,6.7,8,9][0-9]{9}$///letnum=18045216903//console.log(res.test(num))//匹配身份证号码//varres=/(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)///varn=’5203

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号