Structs

Julia voor gevorderden

Anthony Markham

Quantitative Developer

Structs - introductie

  • Structs zijn samengestelde types.
  • Ze lijken op andere types, maar met zoveel velden als je wilt.
  • Met een samengesteld type maak je een object: een representatie van het type.
Julia voor gevorderden

Structs - syntaxis

  • Gebruik het sleutelwoord struct om een structuur te definiëren.
  • Elk veld in de struct wordt ingesprongen binnen de declaratie.
struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
println(steve.height)
180
Julia voor gevorderden

Structs - typeof van object

  • Het type van steve is Person.
struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
println(typeof(steve))
Person
Julia voor gevorderden

Structs - immutability tonen

  • Een struct is standaard immutable.
# Steve is jarig!
steve = Person(18, 180, "London")
steve.age = 19
setfield!: immutable struct of type Person cannot be changed
Julia voor gevorderden

Structs - mutable structs

  • Gebruik het sleutelwoord mutable voor een muteerbare struct.
mutable struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
steve.age = 19
println(steve)
Person(19, 180, "London")
Julia voor gevorderden

Structs - getypeerde structs

  • We kunnen voor elk veld een datatype opgeven in de struct-definitie.
mutable struct Person
    age::Int64
    height::Int64
    location::String
end
steve = Person(18.5, 180, "London")
InexactError: Int64(18.5)
Julia voor gevorderden

Laten we oefenen!

Julia voor gevorderden

Preparing Video For Download...