Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/go/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Go 如何解决;参数太多,无法返回“;问题_Go - Fatal编程技术网

Go 如何解决;参数太多,无法返回“;问题

Go 如何解决;参数太多,无法返回“;问题,go,Go,在我编写的打印函数中,我试图根据switch语句的结果返回一个值;但是,我得到的错误是返回的参数太多 如果这个问题有一个简单的答案,请原谅我,但是一个函数有多少个参数,并且它只能返回一件事,这难道不应该吗?或者它是否需要为每个参数返回一个东西 这是我的密码。返回行出现错误(返回的参数太多)。如何修复它,使其返回switch语句中设置的字符串 package bay func Print(DATA []TD, include string, exclude []string, str strin

在我编写的打印函数中,我试图根据switch语句的结果返回一个值;但是,我得到的错误是返回的参数太多

如果这个问题有一个简单的答案,请原谅我,但是一个函数有多少个参数,并且它只能返回一件事,这难道不应该吗?或者它是否需要为每个参数返回一个东西

这是我的密码。返回行出现错误(返回的参数太多)。如何修复它,使其返回switch语句中设置的字符串

package bay

func Print(DATA []TD, include string, exclude []string, str string) {
    result := NBC(DATA, include, exclude, str)
    var sentAnal string
    switch result {
    case 1:
        sentAnal = "Strongly Negative"
    case 2:
        sentAnal = "Very Negative"
    case 3:
        sentAnal = "Negative"
    case 4:
        sentAnal = "Little Negative"
    case 5:
        sentAnal = "Neurtral"
    case 6:
        sentAnal = "Little Positive"
    case 7:
        sentAnal = "Positive"
    case 8:
        sentAnal = "More Positive"
    case 9:
        sentAnal = "Very Positive"
    case 10:
        sentAnal = "Strongly Positive"
    default:
        sentAnal = "Unknown"
    }
    return sentAnal
}

您需要指定在指定输入参数后返回的内容,这不是python

这:

应该是:

func Print(DATA []TD, include string, exclude []string, str string) string {
建议案文如下:


甚至所有指定方法的签名都不包含返回值

func打印(数据[]TD,包括字符串,排除[]字符串,字符串){

如果要返回字符串,则需要添加返回值的类型

func打印(数据[]TD,包含字符串,排除[]字符串,str字符串)字符串{

请记住,在GO中,您可以返回多个值

func打印(数据[]TD,包括字符串,排除[]字符串,字符串)(字符串,字符串){

您甚至可以为返回值指定一个名称,并在代码中引用它


func-Print(DATA[]TD,include-string,exclude[]string,str-string)(sentAnal-string){
如果您提到返回类型为
string
,那么您应该在返回语句中使用
fmt.Sprintf
,而不是
fmt.Printf

因为
fmt.Printf的retun类型是
(n int,err error)
,而
fmt.sprint的返回类型是
string


它没有回答OP的问题,但可能对其他人有帮助。

你是对的。我不认为我在写这篇文章时完全改变了golang的思维方式。谢谢。我特别喜欢“…这不是python。”Addendumyo如果你的神经线有错,应该是“中性的”:)应该是“中性的”。这确实很有帮助。谢谢。
func Print(DATA []TD, include string, exclude []string, str string) string {