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

Golang是否支持可变函数?

鱼志学
2023-03-14
问题内容

我想知道是否可以在Go中为未知数量的变量定义函数。

像这样

func Add(num1... int) int {
    return args
}

func main() {
    fmt.Println("Hello, playground")
    fmt.Println(Add(1, 3, 4, 5,))
}

我想Add对任意数量的输入进行泛化。


问题答案:

据我所知,您已经了解了很多,但是语法是...int。见规格:

给定功能并调用

func Greeting(prefix string, who ...string)
Greeting("hello:", "Joe", "Anna", "Eileen")

在Greeting中,who将具有价值[]string{"Joe", "Anna", "Eileen"}



 类似资料:
  • 问题内容: 我想知道是否可以在Go中动态创建变量? 我在下面提供了一个伪代码来说明我的意思。我将新创建的变量存储在一个切片中: 在循环的最后,切片应包含变量:variable1,variable2 … variable9 问题答案: Go没有动态变量。大多数语言中的动态变量都实现为Map(哈希表)。 因此,您可以在代码中包含以下地图之一,该地图可以完成您想要的操作 这是执行您的操作的Go代码 ht

  • 问题内容: 对于Chrome / Safari和Firefox,具有和属性。如何使用IE9做同样的事情? 问题答案: 嗯,IE9尚未完成,但是到目前为止,您似乎必须使用SVG。我不知道IE9中是否有任何-ms- gradient或gradient支持。到目前为止,令我烦恼的另一件事是文本阴影。

  • 问题内容: 因此,我希望将其转换为这样的Java代码: JAXB是否可能? 曾经看到一些WebService Client存根生成器正在执行此操作,但也许不确定axis2 Webservice。 问题答案: 的 JAXB(JSR-222) 规范没有盖产生快速失败逻辑到域模型。现在,一种常见的做法是以注释(或XML)的形式表示验证规则,并对它们进行验证。 Bean验证(JSR-303) 对此进行了标

  • 问题内容: 我正在尝试执行一个简单的INSERT并返回标识(自动递增主键)。我试过了 我收到以下错误 SQLite是否支持SCOPE_IDENTITY? 如果可以,该如何使用? 如果不是,我(最好是“线程安全”)的替代方案是什么? 问题答案: 查看常见问题解答。该sqlite3_last_insert_rowid()函数将做到这一点。不过要小心触发器。

  • 我正在使用RDF4J工作台: 尽管我可以在github上的RDF4J存储库中看到对GeoSPARQL的引用,但目前似乎还没有实现。我在已清除的“带RDFS自旋支持的内存存储”存储库上运行了这个SPARQL更新查询,以在RDF4J工作台上设置测试: 这导致一个存储库具有一个事实。 现在,我尝试通过以下查询查找与文字多边形的重叠,该查询应该可以找到上面设置的一个事实: 此查询以HTML的形式给出了一个

  • 问题内容: 我想知道是否有任何方法可以在Java中实现。我认为,如果没有本地对闭包的支持,这是不可能的。 问题答案: Java 8(2014年3月18日发布)不支持curring。可以将Missingfaktor在答案中发布的示例Java代码重写为: …这是非常好的。就个人而言,有了Java 8,我几乎没有理由使用替代的JVM语言(例如Scala或Clojure)。当然,它们提供了其他语言功能,但