Julia之初体验(十)函数

Julia函数的基本语法:

julia> function f(x,y)
           x + y
       end
f (generic function with 1 method)

第二种方法,简单的方法:

julia> f(x,y) = x + y
f (generic function with 1 method)

 

julia> f(2,3)
5
julia> g = f;

julia> g(2,3)
5
julia> ∑(x,y) = x + y   #∑输入方法:\sum + tab
∑ (generic function with 1 method)

julia> ∑(2, 3)
5

julia> function g(x,y)

           return x * y  #加入return关键字,只返回这一条结果

           x + y

       end
g (generic function with 1 method)

julia> g(2,3)
6

julia> function g(x,y)

            x * y   #如果没有return,就返回最后一条结果。

           x + y

       end
g (generic function with 1 method)

julia> g(2,3)
5
julia> function hypot(x,y)
           x = abs(x)
           y = abs(y)
           if x > y
               r = y/x
               return x*sqrt(1+r*r)
           end
           if y == 0
               return zero(x)
           end
           r = x/y
           return y*sqrt(1+r*r)
       end
hypot (generic function with 1 method)

julia> hypot(3, 4)
5.0
julia> function g(x, y)::Int8 #设置类型,一但类型不能满足,就会报错。
           return x * y
       end;

julia> typeof(g(1, 2))
Int8

julia> function g(x, y)::Int8

                  return x * y

              end;

julia> g(2.0,3)  #2.0应该是Float64,但是没有报错
6

julia> g(2.1,3)  #2.1是Float64,结果报错了。
ERROR: InexactError: Int8(6.300000000000001)
Stacktrace:
 [1] Int8 at .\float.jl:689 [inlined]
 [2] convert at .\number.jl:7 [inlined]
 [3] g(::Float64, ::Int64) at .\none:3
 [4] top-level scope at none:0
function printx(x)
    println("x = $x")
    return nothing  #加入这一句,就不返回任何值了。
end
julia> 1 + 2 + 3
6

julia> +(1,2,3)  # Julia中,+ - *  / 都是函数。
6
julia> f = +;

julia> f(1,2,3)
6
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bowen2006

你的鼓励是我的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值