Julia常见符号意思
::, 声明变量的类型
::符号来声明(或者标注)变量类型,使⽤ :: 运算符在函数声明中指定返回类型。 这可以将返回值转换为指定的类型。
julia> function g(x, y)::Int8
return x * y
end;
julia> typeof(g(1,2))
Int8
不完全初始化
julia> mutable struct SelfReferential
obj::SelfReferential
end
<:运算符代表:左边是右边的⼦类型,它可以在声明的时候使⽤,也可以⽤来做类型判断
<:,sub-type
abstract type Person
end
abstract type Musician <: Person
end
->, 创建⼀个匿名函数
⽤在Anonymous Functions中,类似于python⾥⾯的lambda
julia> x -> x^2+ 2x -1
#1 (generic function with 1 method)
julia> function (x)
x^2+ 2x -1
end
#3 (generic function with 1 method)
定义⼀个x平⽅的函数,可以是:
square(x)= x^2
也可以是使⽤匿名函数的形式:
square = x -> x^2
上⾯这段语句的意思是:定义⼀个x的函数,并返回x的平⽅值
匿名函数的扩展
有时候,会在⼀个函数的输⼊中,有匿名函数的定义,⽐如:quadgk(x->f(x,42,4), 3, 4),这代表的含义是什么呢?Aurelio Amerio⼤神的解释通俗易懂,以下⾯两种函数定义的形式为例:
有⼀个函数f,有三个变量x,y,z,如果固定两个变量y,z,求f对x的积分,就可以写成下⾯的形式:
using Pkg
Pkg.add("QuadGK")
using QuadGK
f(x,y,z)=(x^2+ 2y)*z
quadgk(x->f(x,42,4),3,4)
等效于:
mutable是什么意思using Pkg
Pkg.add("QuadGK")
using QuadGK
f(x,y,z)=(x^2+ 2y)*z
arg(x)= f(x,42,4)
quadgk(arg,3,4)
。。。未完待续
如果对您有启发,欢迎您给我点赞 ⽀持!Reference
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论