gpt4 book ai didi

go - 使用数组作为函数调用参数

转载 作者:数据小太阳 更新时间:2023-10-29 03:07:23 24 4
gpt4 key购买 nike

在 JavaScript 中,您可以使用 .apply 调用函数并传入数组/slice 以用作函数参数。

function SomeFunc(one, two, three) {}

SomeFunc.apply(this, [1,2,3])

我想知道 Go 中是否有等效项?

func SomeFunc(one, two, three int) {}

SomeFunc.apply([]int{1, 2, 3})

Go 的例子只是给你一个想法。

最佳答案

它们被称为可变参数函数并使用... 语法,参见Passing arguments to ... parameters在语言规范中。

一个例子:

package main

import "fmt"

func sum(nums ...int) (total int) {
for _, n := range nums { // don't care about the index
total += n
}
return
}

func main() {
many := []int{1,2,3,4,5,6,7}

fmt.Printf("Sum: %v\n", sum(1, 2, 3)) // passing multiple arguments
fmt.Printf("Sum: %v\n", sum(many...)) // arguments wrapped in a slice
}

Playground example

关于go - 使用数组作为函数调用参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25828358/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com