gpt4 book ai didi

julia - 我可以像在 Fortran 中一样在 Julia 中定义变量吗

转载 作者:行者123 更新时间:2023-12-04 07:20:05 26 4
gpt4 key购买 nike

我是 Julia 的新手。有一个快速的问题。
在 Fortran 中,我们可以这样做

implicit none
因此每当我们使用一个变量时,我们需要先定义它。否则会报错。
在 Julia,我想做同样的事情。我想先定义每个变量的类型,比如Float64、Int64等,希望Julia不再需要自动进行类型转换,这可能会减慢代码的速度。
因为我知道如果 Julia 代码看起来像 Fortran,它通常运行得很快。
所以,简而言之,在 Julia 中是否有一种方法可以强制它仅使用已定义类型的变量,否则会给我一条错误消息?我只是想严格一点。
我只想先定义所有变量,然后使用它们。就像 Fortran 一样。
谢谢!
[编辑]
根据回答问题的专家的建议,非常感谢!我知道也许在 Julia 中不需要手动一一定义每个变量。因为一方面,如果我这样做,代码将变得像 Fortran 一样,而且它可能会非常长,尤其是当我有很多变量时。
但是如果我不定义每个变量的类型,Julia 是否足够聪明知道类型?它会做一些可能会减慢代码速度的转换吗?
还有,即使不需要一一定义变量,是不是在某些情况下我们可能需要手动手动定义类型?

最佳答案

不,这是不可能的*。但是,您可以在代码中的任何位置添加类型注释,如果变量不是预期类型,则会引发错误:

julia> i = 1
1

julia> i::Int64
1

julia> i = 1.0
1.0

julia> i::Int64
ERROR: TypeError: in typeassert, expected Int64, got a value of type Float64
Stacktrace:
[1] top-level scope
@ REPL[4]:1

julia> i=0x01::UInt8
0x01
*Julia 是一种动态类型语言,尽管有诸如 https://github.com/aviatesk/JET.jl 之类的包用于静态类型检查(即不需要类型注释)和 https://github.com/JuliaDebug/Cthulhu.jl用于探索 Julia 的类型推断系统。

关于julia - 我可以像在 Fortran 中一样在 Julia 中定义变量吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68554016/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com