golang返回的参数太多

golang返回的参数太多,go,Go,当我将一个函数赋给变量并尝试调用它时。它抛出错误“返回的参数太多” package main import "fmt" func main() { first_name := "Hello" last_name := "World!" full_name := func() { return first_name } fmt.Println(first_name) fmt.Println(last_name) fmt.Println(full_name)

当我将一个函数赋给变量并尝试调用它时。它抛出错误“返回的参数太多”

package main

import "fmt"

func main() {
  first_name := "Hello"
  last_name := "World!"
  full_name := func() {
    return first_name
  }
  fmt.Println(first_name)
  fmt.Println(last_name)
  fmt.Println(full_name)
}

您没有正确声明函数

full_name := func() string{ // add a return type
   return first_name
}
即使对于匿名函数,也必须声明参数和返回值。由于未指定任何返回值,因此不能使用return xx


另外,请注意fmt.Printlnfull_name将返回函数的地址,而不是执行函数。请改用fmt.Printlnfull\u name。

您没有正确声明函数

full_name := func() string{ // add a return type
   return first_name
}
即使对于匿名函数,也必须声明参数和返回值。由于未指定任何返回值,因此不能使用return xx


另外,请注意fmt.Printlnfull_name将返回函数的地址,而不是执行函数。请改用fmt.Printlnfull\u name。

您需要将函数定义更改为以下内容:

  full_name := func() string {
    return first_name
  }
这就是你告诉Go你打算从函数中返回一些东西的方式,在本例中,这些东西是一个字符串

之后,您应该像这样调用新创建的函数:

   fmt.Println(full_name())

您需要将函数定义更改为以下内容:

  full_name := func() string {
    return first_name
  }
这就是你告诉Go你打算从函数中返回一些东西的方式,在本例中,这些东西是一个字符串

之后,您应该像这样调用新创建的函数:

   fmt.Println(full_name())
我想我是在跟踪这个,它没有返回类型:我想我是在跟踪这个,它没有返回类型:可能的重复,可能的重复