直接上MWE:
function sum1(num)
total = 0
for i in num
total += i
end
return total
end
a = collect(1:1000);
@btime sum(a)
# 86.880 ns (1 allocation: 16 bytes)
@btime sum1(a)
# 83.851 ns (1 allocation: 16 bytes)
@btime sum($a)
# 62.220 ns (0 allocations: 0 bytes)
@btime sum1($a)
# 60.834 ns (0 allocations: 0 bytes)
问题
- 函数的参数前加上美元符号
$
是什么意思? - 为什么自定义
sum1()
函数比自带sum()
函数更快?