Вернуть только первый результат нескольких возвращаемых значений в Голанге - PullRequest
0 голосов
/ 27 октября 2018

Абсолютный вопрос новичка здесь.

Некоторые функции в Go возвращают более одного значения (обычно это значение и ошибка). Я писал func, который возвращает возвращаемое значение одной из этих функций, и даже если очень просто поместить значения в переменные и вернуть только первую, у меня есть сомнения, могу ли я сделать то же самое только в одной строке без дополнительной переменной. Это часто используется в других языках, таких как C, Java, C #, Ruby и т. Д.

func someFunc (param string) int {
   // do something with the string, not very important
   return strconv.Atoi(param) 
}

Я знаю, что это работает

func someFunc (param string) int {
   // do something with the string, not very important
   var result int
   result, _ = strconv.Atoi(param)
   return result 
}

Это возможно в Go? Это считается "хорошей практикой" (как в Java *)

Примечание: Прежде чем кто-то скажет, что этот метод не является хорошей практикой в ​​Java, уточните, что это не важно для вопроса, но некоторые люди (например, сотрудники компании, в которой я работаю) поощряют этот стиль.

1 Ответ

0 голосов
/ 27 октября 2018

Используйте краткое объявление переменной для кратчайшего кода для достижения этой цели:

func SomeFunc(parm string) int {
    result, _ := strconv.Atoi(param)
    return result
}

Не существует однострочного решения без введения вспомогательной функции, которая принимает два аргумента и возвращает первый. Одна из этих вспомогательных функций потребуется для каждой комбинации типов, в которой вы хотите игнорировать значение.

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