开始使用免费开始使用

类型声明

我们还能对函数参数施加的另一种控制是限定这些参数的类型。我们可以为每个变量指定数据类型,就像在上一章中为元组所做的一样。如果传入函数的实参类型与定义函数时指定的类型不匹配,就会抛出错误。

这也是控制函数并避免不必要异常的一种方式。在当前版本的 my_profit 函数中,您现在可以向每个参数传入字符串,但在返回语句尝试用一个字符串减去另一个字符串时会报错。我们可以通过为每个参数定义数据类型来防止这种情况。

在下面的示例中,请为函数中的每个参数设置数据类型。

请注意,如果我们尝试传入与已定义类型不匹配的数据类型,将会得到如下错误:

MethodError: no method matching my_profit(::Int64, ::Int64)

本练习是课程的一部分

Julia 中级

查看课程

练习说明

  • 为每个参数设置数据类型,其中 current_priceprevious_price 应为 Float64 值,fees 只能是 Int64 值。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Define my_profit with three type-restricted arguments
function my_profit(previous_price____, current_price____, fees____=2)
	return current_price - previous_price - fees
end

# Call my_profit, passing in values of the correct data type
my_profit(100.00, 105.00)
编辑并运行代码