Как решить вопрос "слишком много аргументов для возврата" в Голанге?
В функции печати, которую я пишу, я пытаюсь вернуть значение на основе результата оператора 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
}
Ответы
Ответ 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) {