Можно ли в Go вызвать функцию с именованными аргументами?

Я хочу вызвать функцию в Go и прикрепить к значениям аргументов имена аргументов

func sum(a int, b int) int {
  return a + b
}

func main() {
  result := sum(a=4, b=5) // result == 9
}

Является ли это возможным?

Что такое компоненты React? Введение в компоненты | Типы компонентов
Что такое компоненты React? Введение в компоненты | Типы компонентов
Компонент - это независимый, многократно используемый фрагмент кода, который делит пользовательский интерфейс на более мелкие части. Например, если мы...
7
0
2 186
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

В go нет такой вещи, как именованные аргументы.

вы ссылаетесь на a и b как на локальные аргументы, я упомянул их как аргументы в сигнатуре функции. Но я понимаю, в go нет такой вещи, как аргументы... Спасибо!

Netanel.R 30.05.2019 10:19

Ничего нелогичного в этом вопросе. Такая опция существует в python, и она делает код самодокументируемым во многих ситуациях.

Espresso 28.06.2020 21:24

Указание параметра при вызове функции делает более ясным, какая информация передается, и нет ничего плохого в том, чтобы позволить компилятору разрешить это, если параметры по-прежнему упорядочены правильно. Инициализация переменных в параметрах может быть не в порядке, но a=4; б=5; результат := сумма (a = a, b = b) - это то, что я хотел бы видеть возможным.

Michael Fulton 03.01.2021 19:42

На данный момент в Go нет способа использовать именованный аргумент в функциях. Если вам действительно нужно использовать именованные аргументы, вы можете попробовать эту библиотеку go-named-params

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

Netanel.R 30.05.2019 10:22

Другие вопросы по теме