变量

    Julia 提供了非常灵活的变量命名策略。变量名是大小写敏感的,且不包含语义,意思是说,Julia 不会根据变量的名字来区别对待它们。 (译者注:Julia 不会自动将全大写的变量识别为常量,也不会将有特定前后缀的变量自动识别为某种特定类型的变量,即不会根据变量名字,自动判断变量的任何属性。)

    1. 1.0
    2. julia> y = -3
    3. -3
    4. julia> Z = "My string"
    5. "My string"
    6. julia> customary_phrase = "Hello world!"
    7. "Hello world!"
    8. julia> UniversalDeclarationOfHumanRightsStart = "人人生而自由,在尊严和权利上一律平等。"
    9. "人人生而自由,在尊严和权利上一律平等。"

    你还可以使用 UTF-8 编码的 Unicode 字符作为变量名:

    如果有需要的话,Julia 甚至允许你重定义内置常量和函数。(这样做可能引发潜在的混淆,所以并不推荐)

    1. julia> pi = 3
    2. 3
    3. julia> pi
    4. 3
    5. julia> sqrt = 4
    6. 4

    然而,如果你试图重定义一个已经在使用中的内置常量或函数,Julia 会报错:

    像 这样的运算符也是合法的标识符,但是它们会被特别地解析。 在一些语境中,运算符可以像变量一样使用,比如 (+) 表示加函数,语句 (+) = f 会把它重新赋值。 大部分 Sm 类别中的 Unicode 中缀运算符,像 ,则会被解析成真正的中缀运算符,并且支持用户自定义方法(举个例子,你可以使用语句 const ⊗ = kron 定义为中缀的 Kronecker 积)。 运算符也可以使用修改标记、引号和上标/下标进行加缀,例如 +̂ₐ″ 被解析成一个与 + 具有相同优先级的中缀运算符。

    内置语句的名字是唯一明确被禁止使用的变量名:

    1. julia> else = false
    2. ERROR: syntax: unexpected "else"
    3. julia> try = "No"
    4. ERROR: syntax: unexpected "="

    命名规范

    虽然 Julia 语言对合法名字的限制非常少,但是遵循以下这些命名规范是非常有用的:

    • 变量的名字采用小写。
    • 用下划线()分隔名字中的单词,但是不鼓励使用下划线, 除非在不使用下划线时名字会非常难读。
    • 类型(Type)和模块(Module)的名字使用大写字母开头,并且用大写字母 而不是用下划线分隔单词。
    • 会对输入参数进行更改的函数要使用 ! 结尾。这些函数有时叫做 “mutating” 或 “in-place” 函数,因为它们在被调用后,不仅仅会返回一些值 还会更改输入参数的内容。关于命名规范的更多信息,可查看。