Подтвердить что ты не робот

Как решить вопрос "слишком много аргументов для возврата" в Голанге?

В функции печати, которую я пишу, я пытаюсь вернуть значение на основе результата оператора 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
}
4b9b3361

Ответ 1

Вам нужно указать, что вы вернете после указания входных параметров, это не питон.

Это:

func Print(DATA []TD, include string, exclude []string, str string) {

Должно быть:

func Print(DATA []TD, include string, exclude []string, str string) string {

Рекомендуемые данные:

Или даже весь эффективный вариант

Ответ 2

Подпись указанного вами метода не включает возвращаемое значение

func Print(DATA []TD, include string, exclude []string, str string) {

если вы хотите вернуть строку, вам нужно добавить тип возвращаемого значения

func Print(DATA []TD, include string, exclude []string, str string) string {

Помните, что в GO вы можете возвращать несколько значений

func Print(DATA []TD, include string, exclude []string, str string) (string, string) {

Вы даже можете указать имя возвращаемого значения и указать его в своем коде

func Print(DATA []TD, include string, exclude []string, str string) (sentAnal string) {