Julia 第 4 章小结

                     

贡献者: addis

   本文授权转载自郝林的 《Julia 编程基础》。原文链接:第 4 章 类型系统

4.5 小结

   在本章,我们主要讨论了 Julia 的类型系统。虽然 Julia 属于动态类型的编程语言,但我们却可以为程序中的变量(以及函数中的参数和结果)添加类型标注,并以此让它们的类型固定下来。

   如果只用三个词来概括 Julia 的类型系统的话,那么就应该是:动态的、记名的和参数化的。动态指的是变量的类型也可以被改变。记名是指,Julia 会以类型的名称来区分它们。参数化的意思是,Julia 的类型可以被参数化。或者说,Julia 对泛型提供了完整的支持。

   我们讲解了超类型、子类型以及继承的概念。Julia 中的类型共同组成了一幅类型图。它们要么存在着直接或间接的继承关系,要么有着共同的超类型。Julia 代码中的任何值都是有类型的。也就是说,Julia 程序中的每一个值都分别是其所属类型的一个实例。并且,某一个类型的实例必然也是该类型的所有超类型的实例。

   关于抽象类型以及两种具体类型,我已经在上一节的最后总结过了,在这里就不再重复了。不过,我们需要特别关注两个 Julia 预定义的抽象类型,即:所有类型的超类型 Any 和所有类型的子类型 Union{}。它们都在类型图中有着特殊的地位。

   本章的内容可以让你对 Julia 的类型系统有一个正确的认知。虽然没有涉及到太多的细节,但对于类型相关的概念你应该已经比较熟悉了。我们会在后面频繁地提及和运用这里所讲述的基础知识。


致读者: 小时百科一直以来坚持所有内容免费无广告,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 20 元,我们一周就能脱离亏损, 并在接下来的一年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利