如何在go中引用未命名的函数参数?

如何在go中引用未命名的函数参数?,go,Go,go中函数参数的名称是可选的。意思是以下是合法的 func hello(string) { fmt.Println("Hello") } func main() { hello("there") } () 我怎样才能参考1。中的参数(使用字符串类型声明) foo()函数?未命名参数的唯一用途是必须定义具有特定签名的函数。例如,我在我的一个项目中有一个例子: type export struct { f func(time.Time, time.Time, strin

go中函数参数的名称是可选的。意思是以下是合法的

func hello(string) {

    fmt.Println("Hello")
}

func main() {
    hello("there")
}
()

我怎样才能参考1。中的参数(使用字符串类型声明)
foo()函数?

未命名参数的唯一用途是必须定义具有特定签名的函数。例如,我在我的一个项目中有一个例子:

type export struct {
    f func(time.Time, time.Time, string) (interface{}, error)
    folder    string
}
我可以在其中使用这两种功能:

func ExportEvents(from, to time.Time, name string) (interface{}, error)
func ExportContacts(from, to time.Time, _ string) (interface{}, error)

即使在
ExportContacts
的情况下,我也不使用
字符串
参数。事实上,如果不命名这个参数,我就无法在这个函数中使用它。

为什么不直接命名参数呢?@JimB当然可以。但是我不必怀疑这种语法正确的形式的意义,为什么它是合法的,或者什么时候它会有用。那不好玩!它可以用来满足一个接口。不能引用func hello()中的参数。