You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何未与函数参数同名的变量可作为函数调用实参?

问题解答:调用函数时能否使用与形参名不同的变量作为实参

当然可以,这是完全符合Kotlin语法规则的行为,核心原因是函数的形参和调用时的实参是完全独立的两个概念:

  • 形参:函数定义中声明的firstNumber、secondNumber只是函数内部用来接收传入值的占位符,它们的作用域仅限于函数内部,和调用方的变量名称没有任何绑定关系。
  • 实参:调用函数时传入的变量(比如你的代码里的thirdNumber),本质是将该变量存储的值传递给函数的形参。只要实参的类型和对应形参的类型匹配,变量叫什么名字完全不影响函数的执行。

结合你的代码具体分析:
当你调用subtract(firstNumber, thirdNumber)时,程序会做这两件事:

  1. 取出firstNumber的值(10),传递给subtract函数的第一个形参(不管这个形参叫firstNumber还是别的名字)
  2. 取出thirdNumber的值(8),传递给subtract函数的第二个形参

哪怕你把调用代码改成subtract(10, 8)或者subtract(a, b)(只要a、b是Int类型变量),函数依然能正常运行——因为函数只关心传入的值,不关心调用方变量的名称。

补充:Kotlin支持命名参数语法,比如subtract(firstNumber = firstNumber, secondNumber = thirdNumber),这种情况下需要实参的命名和形参一致,但这是可选的语法糖,不是强制要求。

内容的提问来源于stack exchange,提问作者Afeez Womiloju

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 16:06:00