возвращает значения в качестве аргументов в функции многооружений
При работе с функциями, которые возвращают несколько значений, можно использовать эти значения в качестве аргументов ввода для других функций. Однако определенные ограничения применяются, когда функция приемной имеет дополнительные параметров. func dosomething (msg string, i int, s string) {...}
, если мы попытаемся передать возвращаемые значения returnIntAndString () doSomething () напрямую:
func returnIntAndString() (i int, s string) {...}
func doSomething(msg string, i int, s string) {...}
Ошибки:
doSomething("message", returnIntAndString())
это потому, что Go позволяет передавать только одно значение в качестве аргумента функции, даже если возвратное значение предыдущей функции дает несколько значений. Значения для временных переменных и передавать их индивидуально в dosomething ().
dosomething ("message", i, s)
multiple-value returnIntAndString() in single-value context not enough arguments in call to doSomething()
возвращает конкретные значения:
в функции returnIntAndString (), возвращайте именованную структуру с полными полями для каждого значения. Затем передайте struct to dosomething (). Я инт S строка } func returnIntAndString () result {...} res: = returnIntAndString () dosomething ("message", res.i, res.s)
помните, конкретные правила GO не разрешают дополнительные параметры наряду с функцией возвращаемого значения с несколькими значениями при назначении аргументов. Если конкретные условия, изложенные в спецификации языка, не выполняются, вы должны использовать одно из предоставленных решений.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3