当前位置: 首页 > 面试题库 >

在Swift中将数组传递给具有可变数量args的函数

温嘉玉
2023-03-14
问题内容

在Swift编程语言中,它说:

函数也可以采用可变数量的参数,将它们收集到一个数组中。

  func sumOf(numbers: Int...) -> Int {
      ...
  }

当我用逗号分隔的数字列表(`sumOf(1、2、3、4)调用这样的函数时,它们可以作为函数内部的数组使用。

问题:如果我已经有一个要传递给该函数的数字数组怎么办?

let numbers = [1, 2, 3, 4]
sumOf(numbers)

这将因编译器错误而失败,即“找不到接受提供的参数的’__conversion’的重载”。有没有办法将现有数组转换为可以传递给可变参数函数的元素列表?


问题答案:

开发人员证实,Splatting尚未使用该语言。目前的解决方法是使用重载,或者如果无法添加重载则等待。



 类似资料:
  • 在Swift编程语言中,它说: 函数也可以接受可变数目的参数,将它们收集到数组中。 当我用逗号分隔的数字列表(`sumof(1,2,3,4)调用这样一个函数时,它们在函数中作为一个数组可用。 问题:如果我已经有一个数组要传递给这个函数,该怎么办? 这将失败,并出现编译器错误,“无法找到接受所提供参数的'__conversion'的重载”。有没有办法把一个现有的数组变成一个我可以传递给一个变量函数的

  • 问题内容: 我有一个简单的问题。我曾尝试在许多博客中搜索有关此问题的信息,但所有站点都返回了如何快速运行功能,但我需要这种情况。 我的自定义函数是: 如何通过args将args传递给其他系统函数? 谢谢前进。 问题答案: 与(Objective-)C中类似,您不能将变量参数列表直接传递给另一个函数。您必须创建一个 (与C语言中的Swift等效)并调用一个带有参数的函数。 所以这可能是您要寻找的:

  • 以这种方式传递参数有问题,我得到以下错误:“std::thread::thread”:没有重载函数接受4个参数。我怎么能这么做?

  • 问题内容: 我有一个PHP函数,该函数需要可变数量的参数(使用和),但是我要传递给该函数的参数数量取决于数组的长度。有没有一种方法可以使用可变数量的参数来 调用 PHP函数? 问题答案: 如果参数在数组中,则该函数可能会对您有兴趣。 如果您要传递的参数数量取决于数组的长度,则可能意味着您可以将它们自己打包到数组中-并将其用于第二个参数。 然后,您传递给该数组的元素将作为不同的参数被函数接收。 例如

  • 问题内容: 与在或中使用的方式类似: 问题答案: 是。 如果你不理会关键字参数,这很简单并且可以工作: 如你所见,Python将为你提供一个包含所有参数的元组。 对于关键字参数,你需要将其作为单独的实际参数接受,如的所示。

  • 问题内容: 我正在尝试使用jQuery Ajax将字符串参数数组传递给C#ASP.NET Web服务。这是我的示例Web方法。请注意,该函数接受可变数量的参数。运行jquery时,我在Chrome的JavaScript控制台中收到500 Internal Server Error。我正在使用jquery 1.6.2和.NET3.5 这是jQuery: 任何帮助表示赞赏! 问题答案: 修改后的服务器