我可以在Julia中创建Int64甚至Uint8类型的“文字”:

julia> typeof(8)
Int64

julia> typeof(0x08)
Uint8

但是我还没有找到如何制作Int8类型的文字的方法。我尝试了几种不同的方法:
julia> 8::Int8
ERROR: type: typeassert: expected Int8, got Int64

julia> 0x08::Int8
ERROR: type: typeassert: expected Int8, got Uint8

julia> convert(Int8, 8)
8

julia> typeof(ans)
Int8

因此convert函数的应用程序可以正常工作,但这是一个有点冗长的表达式。我想知道是否还有一些更简洁的内容,例如Rust的8i8。

我正在使用Julia 0.3.3,但对于Julia 0.4.x的答案也可以。

最佳答案

convert(Int8, 8)更方便的是,在较早的版本上,Int8(8)分别为int8(8)。之所以很少出现像8i8这样的数字文字符号,是因为它与并置相乘产生冲突。

julia> i8=8
8

julia> 3i8
24

10-07 20:35