Struktury

Intermediate Julia

Anthony Markham

Quantitative Developer

Struktury – úvod

  • Struktury jsou aplikací složených typů.
  • Podobají se jiným typům, ale mohou mít libovolný počet polí.
  • Pomocí složeného typu lze vytvořit objekt – reprezentaci tohoto typu.
Intermediate Julia

Struktury – syntaxe

  • Pro definici struktury se používá klíčové slovo struct.
  • Každé pole uvnitř struct je odsazeno v rámci deklarace struct.
struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
println(steve.height)
180
Intermediate Julia

Struktury – typeof objektu

  • Typ proměnné steve je Person.
struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
println(typeof(steve))
Person
Intermediate Julia

Struktury – neměnnost

  • Struktura je ve výchozím nastavení neměnná.
# It's Steve's birthday!
steve = Person(18, 180, "London")
steve.age = 19
setfield!: immutable struct of type Person cannot be changed
Intermediate Julia

Struktury – měnitelné struktury

  • Pro vytvoření měnitelné struktury se používá klíčové slovo mutable.
mutable struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
steve.age = 19
println(steve)
Person(19, 180, "London")
Intermediate Julia

Struktury – typované struktury

  • Pro každé pole v definici struktury lze určit datový typ.
mutable struct Person
    age::Int64
    height::Int64
    location::String
end
steve = Person(18.5, 180, "London")
InexactError: Int64(18.5)
Intermediate Julia

Pojďme si procvičit!

Intermediate Julia

Preparing Video For Download...