8、Julia 函数高级特性与参数传递详解

Julia 函数高级特性与参数传递详解

1. 一等对象

在 Julia 中,函数是一等对象,这意味着它们可以被赋值给其他标识符、作为参数传递给其他函数、作为其他函数的返回值、存储在集合中,还能在运行时应用(映射)到一组值上。

参数列表由一组虚拟变量组成,使用 () 表示法的数据结构称为元组。默认情况下,参数类型为 {Any} ,但也可以指定显式的参数类型,这有助于编译器分配内存并优化生成的代码。

例如:

sq(x) = x*x; 
sq("Hello") ; # => HelloHello

这里 sq() 函数对字符串也适用,因为 * 运算符用于字符串拼接。这是 Julia 使用多重派发重载函数的一个例子。

也可以重载字符串的 + 运算符,但由于它是 Base 的一部分,需要先导入:

import Base.+
+(s1::String,s2::String) = s1*s2; # or else string(s1,s2)
"Hello"+" World" # "Hello World"

要将函数应用到一组值上,可以使用 map() 构造:


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值