gpt4 book ai didi

julia - 类型和结构的区别

转载 作者:行者123 更新时间:2023-12-03 13:31:37 28 4
gpt4 key购买 nike

我正在尝试学习 Julia 并且正在阅读一本书,该书在关于复合类型的章节中显示了以下两个代码示例:

1.

type Points
x::Int64
y::Int64
z::Int64
end

2.
struct Point
x::Int
y::Int
z::Int
end

然而书中并没有说明什么时候使用 struct以及何时使用 type .

有什么不同?

最佳答案

这在您的来源中非常困惑,因为它混合了语言历史上不兼容时代的不同含义。

  • Originally (我认为是 0.7 之前的版本?),复合类型是用 type 声明的或 immutable ,其中 type用于可变类型(还有 bitstype 用于现在称为“原始类型”)。
  • Now , 我们有 mutable structstruct出于同样的目的(并且与其一致, primitive typeabstract type )。

  • 因此,基本上名称已更改,因此所有定义类型的方法都变得更加一致,并且不可变结构已成为“未标记”的情况。

    此上下文中的“可变”意味着您无法重新分配字段 ( p.x = 3 )。这并不意味着字段的内容不能更改,它们碰巧是可变的(如果 something.v[1] = 2 是不可变类型, something 也可以工作!)。

    关于julia - 类型和结构的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60578133/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com