按照惯例,我们将感叹号字符!添加到任何修改其参数的函数名称中,因此对于以下代码示例,我们应该将!添加到函数名中吗? mutable struct Foo a::Int end (foo::Foo)(val) = foo.a = val f = Foo(1) # f.a = 1 f(10) # f.a = 10 简而言之,最后一行可以称为 f!(10) 吗?我只是好奇。谢谢。
这里的“call”和您的变量名称一样。因此,如果您想让它包含一个!,您需要将变量命名为f!。julia> f! = Foo(1) # f.a = 1 Foo(1) julia> f!(4) 4 !字符并没有什么神奇的地方,它只是标识符的一部分。因此,您必须将!放置在实际名称中的内部,就像处理函数一样。