Differences between revisions 2 and 3
Revision 2 as of 2026-01-18 17:50:47
Size: 1721
Comment: Some changes
Revision 3 as of 2026-01-18 22:42:26
Size: 1880
Comment: More notes
Deletions are marked like this. Additions are marked like this.
Line 24: Line 24:
 * `AbstractArray`
   * `AbstractVector`
   * `AbstractMatrix`
Line 87: Line 90:
----



== Nothing Type ===

The singleton constant `nothing` is of type `Nothing`.

Julia Data Types

While Julia is a dynamically typed language, values have a concrete type.


Abstract Types

Abstract types should not be used directly. They are supertypes that categorize behaviors. They are however useful for constructing a novel data type, or for typing the arguments to a function.

The primary set of abstract types, with their hierarchy of supertypes and subtypes indicated by indentation, is:

  • Number

    • Real

      • AbstractFloat

      • Integer

        • Signed

        • Unsigned

  • AbstractChar

  • AbstractString

  • AbstractArray

    • AbstractVector

    • AbstractMatrix


Numeric Types

The set of primitive types that descend from the Number abstract type are:

  • Bool

  • Int8

  • Int16

  • Int32

  • Int64

  • Int128

  • UInt8

  • UInt16

  • UInt32

  • UInt64

  • UInt128

  • Float16

  • Float32

  • Float64


String Types

String is a subtype of AbstractString that implicitly is encoded in UTF-8.

Packages may create novel subtypes of AbstractString, so consider typing string arguments for functions as AbstractString rather than String.

Char is a subtype of AbstractChar, and is a 32-bit representation a Unicode character.


Composite Types

Structs are a composite data type. Struct values can be instantiated like:

julia> struct Foo
           bar
           baz
           qux
       end

julia> foo = Foo("Hello, world.", 23, 1.5)
Foo("Hello, world.", 23, 1.5)

Fields are accessed by the dot operator.

julia> foo.bar
"Hello, world."

By default, struct objects are immutable.


== Nothing Type ===

The singleton constant nothing is of type Nothing.


CategoryRicottone

Julia/DataTypes (last edited 2026-01-18 23:01:45 by DominicRicottone)