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

Зарегистрируйтесь и зарабатывайте 1000$ в день ⋙

В 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
}
  • Именованные возвращаемые аргументы или минимальные операторы возврата подходят только для коротких сигнатур функций. Для более длинных функций явно возвращайте параметры результата (не используйте именованные возвращаемые параметры), чтобы сохранить читаемость кода.
  • В случае именованных возвращаемых аргументов требуется минимальный или простой оператор возврата.
Sign up and earn $1000 a day ⋙

Leave a Comment

Как использовать константы в Golang

Как использовать константы в Golang

Что такое Constant или Const в Golang? Вот что вам нужно знать об использовании констант в Go.

Нестабильные функции в Golang

Нестабильные функции в Golang

Вариативные функции в Go позволяют передавать функции переменное количество аргументов. Вот все, что вам нужно знать о volatile-функциях в Golang.

Ключевые слова в Go

Ключевые слова в Go

Ключевое слово. Ключевые слова — это слова в языке, которые используются для обозначения какого-либо внутреннего процесса или представляют собой какое-либо предопределенное действие. Вот что вам нужно знать о ключевых словах в Golang.

Типы данных в Golang

Типы данных в Golang

Тип данных определяет тип данных, которые может содержать допустимая переменная Go. В языке Go типы делятся на четыре категории следующим образом:

Аргументы функций в Golang

Аргументы функций в Golang

Go поддерживает два основных способа передачи аргументов: передача по значению и передача по ссылке. Go по умолчанию использует передачу по значению.

Функция, возвращающая несколько значений в Golang

Функция, возвращающая несколько значений в Golang

В языке Go разрешено возвращать несколько значений из функции с помощью оператора return. Другими словами, в функции оператор return может возвращать несколько значений.

Оператор Switch в Go

Оператор Switch в Go

В Golang, как и в большинстве других языков программирования, есть оператор switch. Вот как использовать оператор switch в Golang.

Случаи, которые следует знать при использовании операторов выбора в Golang

Случаи, которые следует знать при использовании операторов выбора в Golang

В этой статье мы узнаем, как использовать регистр по умолчанию, чтобы избежать взаимоблокировки. Но сначала давайте выясним, что такое случай взаимоблокировки при использовании команды select в Golang?

Анонимные структуры и поля в Golang

Анонимные структуры и поля в Golang

Анонимные структуры в Golang — это временные структуры без имен, используемые для одноразовых целей, в то время как анонимные поля допускают встраивание неименованных полей.

Как использовать Руну в Golang

Как использовать Руну в Golang

Что такое руны в языке Голанг? Как использовать руну в Golang? Статья даст вам ответ.

Как использовать операторы в Golang

Как использовать операторы в Golang

Операторы позволяют нам выполнять различные типы операций над операндами. В языке Go операторы можно классифицировать на основе их различных функций.

Идентификатор Void в Golang

Идентификатор Void в Golang

_(подчеркивание) в Golang называется пустым идентификатором. Идентификатор — определяемое пользователем имя компонентов программы, используемое для целей идентификации.

Как создать базовую программу на Golang

Как создать базовую программу на Golang

Привет, мир! это первая базовая программа на любом языке программирования. Вы можете написать эту первую программу на Golang, следуя инструкциям ниже.

Как установить Go на Windows

Как установить Go на Windows

Golang можно легко установить на Windows. Ниже приведено подробное пошаговое руководство по установке Golang на Windows.

Лучшие ноутбуки для студентов в 2025 году

Лучшие ноутбуки для студентов в 2025 году

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

Как добавить принтер в Windows 10

Как добавить принтер в Windows 10

Добавить принтер в Windows 10 просто, хотя процесс для проводных устройств будет отличаться от процесса для беспроводных устройств.

Как проверить оперативную память и ошибки оперативной памяти на компьютере с максимальной точностью

Как проверить оперативную память и ошибки оперативной памяти на компьютере с максимальной точностью

Как вы знаете, оперативная память (ОЗУ) — очень важный компонент компьютера, выполняющий функцию памяти для обработки данных и определяющий скорость работы ноутбука или ПК. В статье ниже WebTech360 расскажет вам о нескольких способах проверки оперативной памяти на наличие ошибок с помощью программного обеспечения в Windows.

Разница между обычным телевизором и Smart TV

Разница между обычным телевизором и Smart TV

Умные телевизоры действительно покорили мир. Благодаря множеству замечательных функций и возможности подключения к Интернету технологии изменили то, как мы смотрим телевизор.

Почему в морозильной камере нет подсветки, а в холодильнике есть?

Почему в морозильной камере нет подсветки, а в холодильнике есть?

Холодильники — привычные бытовые приборы. Холодильники обычно имеют 2 отделения: холодильное отделение просторное и имеет подсветку, которая автоматически включается каждый раз, когда пользователь ее открывает, а морозильное отделение узкое и не имеет подсветки.

2 способа устранения перегрузки сети, которая замедляет Wi-Fi

2 способа устранения перегрузки сети, которая замедляет Wi-Fi

На сети Wi-Fi влияют многие факторы, помимо маршрутизаторов, пропускной способности и помех, но есть несколько разумных способов улучшить работу вашей сети.

Как перейти с iOS 17 на iOS 16 без потери данных с помощью Tenorshare Reiboot

Как перейти с iOS 17 на iOS 16 без потери данных с помощью Tenorshare Reiboot

Если вы хотите вернуться к стабильной версии iOS 16 на своем телефоне, вот базовое руководство по удалению iOS 17 и понижению версии с iOS 17 до 16.

Что происходит с организмом, если вы едите йогурт каждый день?

Что происходит с организмом, если вы едите йогурт каждый день?

Йогурт — замечательная еда. Полезно ли есть йогурт каждый день? Как изменится ваше тело, если вы будете есть йогурт каждый день? Давайте узнаем вместе!

Какой вид риса лучше всего подходит для здоровья?

Какой вид риса лучше всего подходит для здоровья?

В этой статье рассматриваются наиболее питательные виды риса и способы максимально увеличить пользу для здоровья любого выбранного вами вида риса.

Как просыпаться вовремя утром

Как просыпаться вовремя утром

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

Советы по игре Rent Please! Симулятор арендодателя для новичков

Советы по игре Rent Please! Симулятор арендодателя для новичков

Арендуйте, пожалуйста! Landlord Sim — мобильная игра-симулятор для iOS и Android. Вы будете играть за владельца жилого комплекса и начнете сдавать квартиры в аренду, чтобы улучшить интерьер своих апартаментов и подготовить их к приему арендаторов.

Последние коды защиты башни в ванной и как вводить коды

Последние коды защиты башни в ванной и как вводить коды

Получите игровой код Bathroom Tower Defense Roblox и обменяйте его на потрясающие награды. Они помогут вам улучшить или разблокировать башни с более высоким уроном.

Конструкция, обозначения и принципы работы трансформаторов

Конструкция, обозначения и принципы работы трансформаторов

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

4 способа, которыми ИИ делает умные телевизоры лучше

4 способа, которыми ИИ делает умные телевизоры лучше

От лучшего качества изображения и звука до голосового управления и многого другого — эти функции на базе искусственного интеллекта делают смарт-телевизоры намного лучше!

Почему ChatGPT лучше DeepSeek

Почему ChatGPT лучше DeepSeek

Поначалу люди возлагали большие надежды на DeepSeek. Как ИИ-чат-бот, позиционируемый как серьезный конкурент ChatGPT, он обещает интеллектуальные возможности и возможности чата.