
上QQ阅读APP看书,第一时间看更新
2.8 小结
在本章中,我们开始讨论为大型应用程序组织源代码的重要性。我们详细探讨了如何建立命名空间以及如何使用模块和子模块来实现它们。为了管理包的依赖关系,我们引入了语义版本控制的概念,并学习了如何在Julia的包管理器中正确使用它。
然后,我们详细介绍了如何设计抽象类型层次结构并定义抽象类型的函数。我们还讨论了具体类型以及不可变性和可变性的概念。我们演示了在处理来自不同抽象类型层次结构的数据类型时如何使用Union类型。我们研究了两种常见的数据类型运算符(isa和<:)。为了进一步重用数据化类型,我们介绍了参数化类型,并研究了它们如何应用于具体类型和抽象类型。
最后,我们研究了Julia中的convert函数以及在某些情况下如何自动调用它。我们了解了Julia的函数分派的工作原理,以及如何通过在其参数中接受更广泛的抽象类型来使函数更灵活。
在这一点上,你应该对如何组织代码和设计自己的数据类型有很好的了解。
在第3章中,我们将研究如何使用函数和Julia的多重分派工具来定义应用程序行为。