使用Swift编程启动和运行
带有可选,函数和字符串的Swift简介
在本文中,您将学习Swift的以下基本知识:
- 可选,可选绑定,强制展开
2.功能
3.创建数组
4.创建字典,迭代操作
5.字符串运算
6.条件语句,Switch语句,if语句
介绍Swift
Swift是Apple开发的新编程语言。 如果您是一名Objective-C程序员,Swift将使您感到熟悉。 它遵循与Objective-C相同的方法名称和参数。 它还包括来自Objective-C的可可框架。 此外,Swift代码可以与Objective-C代码一起使用。 Swift代码更加简洁,执行速度更快且易于调试。 自从Swift引入以来,人们一直在谈论它,并且大多数人发现它易于适应并且更具表达力。 即使是具有数十年经验的Objective-C开发人员,也会发现它简单而直观。 它是如此简单却强大,以至于一段时间后您会感觉到它是第二自然。 Swift简洁,直观且执行速度更快。 最重要的是,它已被广泛采用,github上有成千上万个存储库,您可以在堆栈溢出时找到大多数问题的解决方案。
在进行快速编程之前,我希望您了解Apple引入的一种伟大工具,该工具仅用于学习和尝试这种新语言。 它被称为游乐场。 太好了,您不必担心创建项目或构建项目来编译代码了。 您可以直接尝试使用快速代码并立即查看结果。 这使学习体验更加有趣。 因此,我建议您使用Playground立即尝试和调整代码。 在学习概念的同时尝试自己编写代码是学习编程时最重要的事情。 正是这样才能保持创造力,创新和即兴创作的乐趣。
您不必单独下载或安装它。 您只需要Xcode。 安装Xcode并将其打开后,您将看到以下窗口
要创建一个Playground文件,请选择第一个选项,即Play入门。 您将被带到此窗口:
您可以在这里命名您的Playground文件,并选择iOS或OS X的平台。单击下一步时,系统将要求您选择Mac上的位置以保存项目。 根据您的方便选择,然后单击完成。 现在,您的Playground文件已准备就绪,可以进行编码了。
您将看到以下窗口:
这是一个普通的游乐场文件。 与您的Xcode项目中的类相似。 在左侧,您将看到一个包含字符串“ Hello,Playground”的变量。 在右侧,您会在该行上看到结果或变量的值。 您可以在运行时立即查看任何计算和运算的结果,如下图所示:-
那么,为什么还要浪费时间呢? 让代码!
因此,让我们从基础知识开始:
变数
在这里,我们定义了一个变量“ myName”,使用var关键字,变量名和冒号“:”来完成此操作。 冒号后面是数据类型,在这种情况下,数据类型是String ( String是Swift引入的新数据类型)。 我们为该变量分配一个字符串值“ Ashish”以进行初始化。
在Objective-c中,您可以这样做:
我们迅速用关键字’var’声明了任何类型的变量。 var也表示可变性,我将在后面进行解释。
语句结尾没有分号。 分号是快速可选的。
常数
创建变量是小菜一碟。 现在让我们看看如何声明常量。 假设您希望var’myName’为常量,则可以这样操作:
是的,除了关键字let外,其他所有内容都是相同的。 swift中的关键字“ let”代表不变性。 因此,对于要保持不变的任何对象或值,只需使用关键字“ let”进行声明即可。
常量的更多示例:-
Swift非常喜欢不变性而不是可变性,以至于在swift 2.0(Xcode 7)中,如果变量实际上是常量,并且应该用’let’替换’var’,Compiler会发出警报。 这使代码在多任务环境中更加安全,因为它知道什么不会改变。
快速输入推断
Swift可以推断出变量或常量的数据类型。 这意味着您不必明确提及类型。 考虑以下示例:
这里我们没有为变量“ myName”指定任何数据类型,但代码仍然可以正常工作。 这样做的原因是很快会自动检测或推断字符串形式的“ Ashish”值的数据类型。
同样,
在推断浮点数的类型时,Swift选择Double而不是Float。
注意:-您可以使用任何Unicode字符作为变量或常量名称。
例如,
令π= 3.145927
(在Mac上按alt + P可以输入unicode字符’ π ‘)。
这种类型推断使swift成为一种安全类型的语言。
串
Swift引入了一些新的数据类型,其中之一是String。 它会自动与NSString桥接并合并其所有属性。 因此,您可以在使用NSString的任何地方使用String。
例如,
在这里,我们定义一个String并使用一个int对其进行初始化。 然后,我们使用NSString的intValue属性将其转换为Integer。
计算字符或字符串的长度:
您将得到答案为5。
考虑下面的字符串:
要访问特定索引处的字符,请使用属性startIndex,endIndex和函数predecessor(),successor()。
在字符串范围之外的索引处访问字符将触发运行时错误。
字符串插值
您还可以在字符串中使用它们时对值执行操作
连接字符串
在字符串中插入和删除字符
要将字符插入指定索引处的字符串中,请使用insert(_:atIndex 🙂方法。
输出:-欢迎现在等于“哇!”
要在指定的索引处插入另一个字符串的内容,请使用insertContentsOf(_:at 🙂方法。
输出:-名称=“哇,真棒!”
要从指定索引处的字符串中删除字符,请使用removeAtIndex(_ 🙂方法。
输出:-现在欢迎等于“哇,真棒”
在此处阅读有关String的更多信息
功能
以下函数采用三个参数firstName,lastName和它们之间的空格,并在加入它们后返回字符串
不允许更改s1的值,因为即使我们将变量类型的参数传递给函数,参数的类型也是let。
为了使s1可变,请将s1声明为var。
这就是我们使函数的参数可变的方式
调用函数
在这里,我们传递firstName,lastName和joiner String并将结果分配给新变量’name’
这说明了swift的简单明了的语法。
选装件
Swift引入了许多很棒的功能,其中之一是可选的。 在值可能存在或不存在的地方使用可选的。 这个概念在C或Objective-C中不存在。 在Objective-C中,如果函数返回缺少对象的对象,则它将返回nil。 所以我们需要用类似的方法来处理这种情况
if(object!= nil)或if(object)。 但这不适用于结构或枚举,在这种情况下,如果缺少值,我们将获得NSNotFound。
快速地,我们有一个可选的单一类型,它可以处理任何不存在或存在的数据类型。
可以通过放置’ ?来声明Optional 。 ‘在变量的数据类型后标记。
其中name是“可选”,其中name的值可以为nil。 实际上,如果我们不使用值初始化name变量,它将自动设置为nil。
如果Optional的值表示它不是nil。
强制展开
要获得可选的选项,我们可以这样:-
这就像告诉编译器我知道变量中有一个值,然后将该值提供给我。 强制展开包含nil值的变量将产生运行时错误。
可选装订
要处理nil情况,请创建一个临时常量或变量,并将其分配为可选值。 然后检查const是否包含值,即不是nil。
上面的声明和’if’条件可以组合如下:
此条件检查可选变量是否包含值,然后才执行块中的代码。 如果值存在,则将“名称”分配给“ aStr”。 这称为可选绑定。
在此处了解有关可选选项的更多信息
快速的条件语句
Swift使用条件语句进行了一些语法上的更改,以使其更易于使用。
让我们考虑一个if语句
对于循环
//快速迭代数组
斯威夫特字典
创建字典
遍历字典
输出:-“ [Ashish,Akash,Prakash] \ n”
切换语句
swift中的switch语句支持检查任何类型的值。 现在,Switch可以在任何条件下(仅可以与相等条件进行比较)在不同于Objective-C的情况下验证实现的案例。
开关可以比较范围
尝试更改下面的数字值以测试案例
开关可以用来比较元组。
尝试更改元组的值以测试案例
与Switch绑定价值
Switch可以为临时变量或常量分配值,然后可以使用这些变量或常量来创建要评估的复杂条件语句。 此分配称为值绑定。
因此,您可以看到开关已迅速发展。 我相信您会发现它比Objective-C有用得多。 您可以在下面的评论中分享您认为使用switch有意义的所有用例。 如果可以进一步解释该主题,总是欢迎您分享与该主题相关的任何代码。
如果您喜欢我的帖子,可以在此处快速查看我的其他帖子。 您可以查看我的博客www.onestopsios.com。 再见,祝您编码愉快!