от
Есть ли способ, чтобы использовать комбинацию разбрызгивая Аргументы и простые аргументы (определено ниже) в функцию, принимающую параметр с переменным числом аргументов в golang? Если нет, то есть известный фразеологизм, который аппроксимирует эту функцию? Если возможно, есть идиоматическое выражение аппроксимирующей эту функцию, что не требует повторения имени типа? Допустим у меня есть функция с параметром вариативная в golang из
...T
типа. Похоже, ваши возможности на сайте вызова ограничиваются: несколько простых аргументов, каждый из
T
типа, т. е.
f(…… x1, x2, x3 ……)
единственный аргумент, разбрызгивая типа
[]T
, я.е
f(…… ...xs ……)
В некоторых других языках программирования, таких как Python, это можно уловить сочетание простых аргументов и разбрызгивая аргументы с параметром переменным числом аргументов:
$ python
>>> def foo(*args): return args
... 
>>> foo(1, 2, *[3, 4])
(1, 2, 3, 4)
Впрочем, то же самое не работает в Go.
// splat.go
package main

import "os"
import "fmt"

func write(args ...string) {
        for _, item := range args {
                fmt.Printf("%s\n", item)
        }
}

func main() {
        write("foobarbaz", os.Args[1:]...)
}
из сообщения об ошибке понятно, что аргумент разбрызгивая и простой аргумент не будучи привязанными к одному параметру.
$ go run splat.go 
# command

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.
Анти-спам проверка:
Чтобы избежать проверки в будущем, пожалуйста войдите или зарегистрируйтесь.
...