至少根据当前有关Control Flow的文档,Julia不支持像开关盒这样的控制结构。
switch case是命令式或面向对象语言中的常见流控制,为什么不使用julia?
语言支持开关盒(未完成)
julia 的基本理念是将大多数功能作为包提供并保持核心(Base)超精简。所以“为什么 Julia 不支持 X”的答案通常是“Julia 通过包 Y 支持 X”。在这种情况下,Match.jl 提供了一个非常强大的类似 switch-case 的结构。还有一个很接近C的switch的Switch.jl包,但是没有主动维护。
关于将其包含在茱莉亚语言中,已有广泛的讨论。它可能会在某个时候发生,但可能要等到v1.0之后。
请参阅此处以获取主要讨论(包括其他讨论的链接):https : //github.com/JuliaLang/julia/issues/18285
&这个信息也很有意义(但是现在已经关闭以支持上述内容):https : //github.com/JuliaLang/julia/issues/5410
同样值得一提的是,茱莉亚不需要为切换用例提供语法,因为最好将其作为宏(即通过元编程)实现(就功能而言),而无需将其包含在基本茱莉亚中。