在Swift中实现堆栈-第1部分

学习目标:结构,数组,变异,可选,函数

我们将使用值类型struct创建堆栈。 堆栈将具有两个基本操作-推入和弹出

步骤1:使用将代表堆栈的值类型结构

步骤2:堆栈由Int类型的数组支持

步骤3:在函数中存根。

由于pop函数将返回一个值或为nil,我们需要将返回类型声明为Int的选项类型

步骤4:推送功能实现

不能使用不可变值的可变成员:’self’是不可变的 为什么Swift编译器会抛出此错误,我们如何解决呢?

struct是Swift中的值类型,我们无法通过其实例方法修改值类型的属性。 因此,修改elementsOfStack Array会引发此错误。

在函数签名中使用mutating关键字。 它告诉编译器我们打算在实例方法中修改值类型的属性。

第5步:弹出功能实现

试试这三个练习作为挑战。 该练习的解决方案将在第2部分中。

练习#1添加一个函数以清空整个堆栈

练习2的改进使使用泛型的Int,Double,Float和String数据类型的堆栈

练习3:使用引用类型类通过泛型类型数组返回实现堆栈