Juliaは動的型付け言語だが、LLVMコンパイル時は型情報を用いて最適化を行っている。 従来の動的型付け言語と比べ、型の重要度は大きい。 基本は動的型付け言語的に型を意識せず雑に書いて、速度を気にしたり、パッケージ化する時に型を意識する。
Juliaにおいて型はstructで定義される。
struct Foo
bar
baz
end
bar, bazの初期値を指定したい場合はOuter Constructorを用いて
Foo() = Foo(1,2)
とできる。Foo()
で初期化したfoo
のメンバを確認すると
foo = Foo()
@show foo.bar
@show foo.baz
foo.bar = 1
foo.baz = 2
となっている事が確認できる。