Struktury

Julia średnio zaawansowana

Anthony Markham

Quantitative Developer

Struktury – wprowadzenie

  • Struktury są zastosowaniem typów złożonych.
  • Działają jak inne typy, ale mogą mieć dowolną liczbę pól.
  • Typ złożony służy do tworzenia obiektów – reprezentacji tego typu.
Julia średnio zaawansowana

Struktury – składnia

  • Słowo kluczowe struct służy do definiowania struktury.
  • Każde pole wewnątrz struct jest wcięte w bloku deklaracji.
struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
println(steve.height)
180
Julia średnio zaawansowana

Struktury – typ obiektu

  • Typ zmiennej steve to Person.
struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
println(typeof(steve))
Person
Julia średnio zaawansowana

Struktury – niemutowalność

  • Struktury są domyślnie niemutowalne.
# It's Steve's birthday!
steve = Person(18, 180, "London")
steve.age = 19
setfield!: immutable struct of type Person cannot be changed
Julia średnio zaawansowana

Struktury – struktury mutowalne

  • Słowo kluczowe mutable tworzy mutowalną strukturę.
mutable struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
steve.age = 19
println(steve)
Person(19, 180, "London")
Julia średnio zaawansowana

Struktury – typy pól

  • Możemy określić typ danych dla każdego pola w definicji struktury.
mutable struct Person
    age::Int64
    height::Int64
    location::String
end
steve = Person(18.5, 180, "London")
InexactError: Int64(18.5)
Julia średnio zaawansowana

Czas na ćwiczenia!

Julia średnio zaawansowana

Preparing Video For Download...