Ответы @NilsGudat и @DaveNewton являются правильными, но неполными, поэтому позвольте мне дать некоторые уточнения.
Важно отметить, что ваш первый пример, x = 64.0::MyType
, это , а не как вы создаете число типа MyType
. Обозначение a::MyType
, когда оно встречается в правой части выражения, является утверждением типа. Он вернет значение a
, если a
является подтипом MyType
(a isa MyType
), но если a
не является подтипом MyType
, будет выдано исключение. В вашем повседневном коде Джулии это вряд ли понадобится вам очень часто. Для получения дополнительной информации об объявлениях и утверждениях типа см. Раздел руководства по объявлениям типа и этого раздела из советов по производительности.
Как указывает @DaveNewton, Джулия предоставляет литерал синтаксис для создания Float32
чисел. Синтаксис аналогичен научной нотации c для Float64
, например, 4.5e2
, за исключением того, что e
заменяется на f
:
julia> 4.5f2
450.0f0
julia> 450f0
450.0f0
julia> typeof(4.5f2)
Float32
Обратите внимание, что присоединение ::Float32
к буквенное значение Float32
не является обязательным и фактически является избыточным. Поэтому вместо написания x = 64.0f0::Float32
, как предлагает @DaveNewton, вы можете просто написать x = 64.0f0
.