Именованные возвращаемые параметры в Golang

В Golang именованные возвращаемые параметры часто называются именованными параметрами. Golang позволяет именовать возвращаемые параметры или результаты функций в сигнатуре или определении функции. Или можно сказать, что речь идет о явном указании возвращаемых переменных в определении функции. По сути, это устраняет необходимость указания имени переменной в операторе return . Используя именованные возвращаемые параметры или именованные параметры, можно просто использовать ключевое слово return в конце функции, чтобы вернуть результат вызывающей стороне. Эта концепция часто используется, когда функция должна возвращать несколько значений. Поэтому для удобства пользователей и повышения читаемости кода Golang предоставляет такую ​​возможность.

Именованные возвращаемые параметры в Golang

Объявить именованные возвращаемые параметры

Чтобы объявить именованный результат или возвращаемый параметр, просто используйте часть возвращаемого типа сигнатуры функции. Ниже приведен общий синтаксис объявления функции в Golang. Синтаксис объявления функции без именованных возвращаемых параметров:

func function_name(Parameter-list)(Return_type){
    // function body.....
}

Здесь Return_Type является необязательным и содержит тип значения, возвращаемого функцией. Если вы используете Return_Type в своей функции, то вам необходимо использовать оператор return в своей функции.
Синтаксис объявления функции с именованным возвращаемым аргументом следующий:

func function_name(Parameter-list)(result_parameter1 data-_type, result_parameter2 data_type, ….){ 
// function body…..
return 
} 

Здесь (result_parameter1 data-_type, result_parameter2 data_type, ….) — это список возвращаемых аргументов, названных вместе с их типами. Вы можете объявить n-ное количество именованных возвращаемых параметров.

Именованные возвращаемые параметры в Golang

Пример: Пример: В приведенной ниже программе строка кода func calculator(a, b int) (mul int, div int) содержит именованные возвращаемые аргументы. Оператор return в конце функции не содержит никаких параметров. Компилятор Go автоматически вернет параметры.

// Chương trình Go mình họa 
// cách dùng đối số trả về được đặt tên

package main

import "fmt"

// Phương thức chính
func main() {

	// tại đây gọi hàm này
	// hàm trả về hai giá trị
	m, d := calculator(105, 7)

	fmt.Println("105 x 7 = ", m)
	fmt.Println("105 / 7 = ", d)
}

// hàm có các đối số được đặt tên
func calculator(a, b int) (mul int, div int) {

	// tại đây phép gán đơn giản sẽ
	// khởi tạo giá trị cho nó
	mul = a * b
	div = a / b

	// tại đây bạn sẽ có từ khóa return
	// không có bất kỳ tham số kết quả nào
	return
}

Результат:

105 x 7 =  735
105 / 7 =  15

Важное примечание:

  • Если типы всех возвращаемых аргументов имеют общие имена или одинаковы, можно указать общий тип данных. Для лучшего понимания сравните приведенный ниже код с примером, который вы прочитали выше.
// hàm có đối số đã được đặt tên
func calculator(a, b int) (mul, div int) {
  • Здесь переменные mul и div имеют тип int . Таким образом, вы также можете объявлять именованные аргументы с универсальными типами данных как функциональные переменные (например, a и b).
  • Использование именованных возвращаемых параметров улучшает читаемость кода, поскольку о возвращаемых параметрах можно узнать, просто прочитав сигнатуру функции.
  • После использования именованного параметра возврата оператор возврата часто называют голым или открытым возвратом .
  • По умолчанию Golang определяет все именованные переменные со значением ноль, и функции смогут их использовать. В случае, если функция не изменяет значения, автоматически возвращается нулевое значение.
  • Если вы используете оператор короткого объявления ( := ) для инициализации именованных возвращаемых параметров, возникнет ошибка, поскольку он уже инициализирован компилятором Go. Таким образом, вы можете использовать простое присваивание ( = ) для присвоения значений именованным возвращаемым параметрам.
// hàm có đối số được đặt tên
func calculator(a, b int) (mul int, div int) {

    // tại đây, nó sẽ báo lỗi
        // dưới dạng tham số đã được xác định
        // trong chữ ký hàm
    mul := a * b
    div := a / b

    // tại đây bạn có từ khóa return
    // không có bất kỳ tham số kết quả nào
    return
}
  • Именованные возвращаемые аргументы или минимальные операторы возврата подходят только для коротких сигнатур функций. Для более длинных функций явно возвращайте параметры результата (не используйте именованные возвращаемые параметры), чтобы сохранить читаемость кода.
  • В случае именованных возвращаемых аргументов требуется минимальный или простой оператор возврата.

Оставить комментарий

Втянет ли Европа в гипотетическую ядерную войну между США, Израилем и Ираном? Объяснение правил НАТО.

Втянет ли Европа в гипотетическую ядерную войну между США, Израилем и Ираном? Объяснение правил НАТО.

Руководство по статьям 4 и 5 НАТО, правилам самообороны ООН и объяснение того, почему консультации не означают автоматического вступления Европы в войну.

Может ли Иран уже обладать ядерным оружием? Как интерпретировать доказательства.

Может ли Иран уже обладать ядерным оружием? Как интерпретировать доказательства.

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

Ядерные структуры США и Израиля: что на самом деле объясняют общедоступные источники.

Ядерные структуры США и Израиля: что на самом деле объясняют общедоступные источники.

Понимание полномочий по принятию решений в ядерной сфере в шесть этапов, включая контроль со стороны гражданского населения США и ограничения общедоступной информации об Израиле.

Ормузский пролив в 2026 году: что говорят официальные источники о перебоях в судоходстве.

Ормузский пролив в 2026 году: что говорят официальные источники о перебоях в судоходстве.

Справочник по официальным данным о сбоях в судоходстве в Ормузском проливе в 2026 году, заявлениям, связанным с Ираном, подтвержденным инцидентам и тому, что остается неясным.

Может ли гипотетический ядерный удар США и Израиля по Ирану привести к Третьей мировой войне?

Может ли гипотетический ядерный удар США и Израиля по Ирану привести к Третьей мировой войне?

Основанное на источниках руководство по рискам ядерной эскалации, правилам Устава ООН и статье 5 НАТО в строго гипотетическом сценарии с Ираном.

Как подготовиться к гипотетическому отключению электроэнергии, вызванному электромагнитным импульсом: 5 шагов для гражданских лиц.

Как подготовиться к гипотетическому отключению электроэнергии, вызванному электромагнитным импульсом: 5 шагов для гражданских лиц.

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

Как оценить киберугрозы, не предполагая Третью мировую войну: пошаговое руководство из 5 шагов.

Как оценить киберугрозы, не предполагая Третью мировую войну: пошаговое руководство из 5 шагов.

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

Ядерная зима: как оценить глобальные климатические последствия гипотетического удара по Ирану.

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

Сколько времени может потребоваться Земле для восстановления после гипотетической ядерной войны?

Сколько времени может потребоваться Земле для восстановления после гипотетической ядерной войны?

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

Контрольный список мер по подготовке к ядерным осадкам: необходимые припасы и шаги по обустройству убежища.

Контрольный список мер по подготовке к ядерным осадкам: необходимые припасы и шаги по обустройству убежища.

Соберите практичный комплект для подготовки к радиоактивным осадкам за шесть шагов, включающий герметично упакованные продукты питания и воду, радиоприемник, медикаменты и инструкции по обустройству укрытия.