Struct

Julia Tingkat Menengah

Anthony Markham

Quantitative Developer

Struct - pengantar

  • Struct adalah penerapan dari tipe komposit.
  • Mirip tipe lain, tetapi dengan jumlah field sesuai kebutuhan.
  • Kita dapat memakai tipe komposit untuk membuat objek, representasi dari tipe tersebut.
Julia Tingkat Menengah

Struct - sintaks

  • Gunakan keyword struct untuk mendefinisikan struktur.
  • Setiap field di dalam struct diindentasi dalam deklarasi struct.
struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
println(steve.height)
180
Julia Tingkat Menengah

Struct - typeof objek

  • Tipe steve adalah Person.
struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
println(typeof(steve))
Person
Julia Tingkat Menengah

Struct - demonstrasi imutabilitas

  • Struct bersifat immutable secara default.
# Ulang tahun Steve!
steve = Person(18, 180, "London")
steve.age = 19
setfield!: immutable struct bertipe Person tidak dapat diubah
Julia Tingkat Menengah

Struct - mutable struct

  • Gunakan keyword mutable untuk membuat struct yang dapat diubah.
mutable struct Person
    age
    height
    location
end
steve = Person(18, 180, "London")
steve.age = 19
println(steve)
Person(19, 180, "London")
Julia Tingkat Menengah

Struct - typed struct

  • Kita dapat menentukan tipe data untuk setiap field dalam definisi struct.
mutable struct Person
    age::Int64
    height::Int64
    location::String
end
steve = Person(18.5, 180, "London")
InexactError: Int64(18.5)
Julia Tingkat Menengah

Ayo berlatih!

Julia Tingkat Menengah

Preparing Video For Download...