The type hierarchy – subtypes and supertypes
(Follow along with the code in Chapter 6\type_hierarchy.jl
.)
In Julia, every value has a type, for example, typeof(2)
is Int64
(or Int32
on 32-bit systems). Julia has a lot of built-in types, in fact, a whole hierarchy starting from the type Any
at the top. Every type in this structure also has a type, namely, DataType
, so it is very consistent: typeof(Any)
, typeof(Int64)
, typeof(Complex{Int64})
, and typeof(DataType)
all return DataType
. So, types in Julia are also objects; all concrete types, except tuple types, which are a tuple of the types of its arguments, are of type DataType
.
This type hierarchy is like a tree; each type has one parent given by the super
function:
super(Int64)
returnsSigned
super(Signed) ...
Get Getting Started with Julia now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.