Golang 中的命名回傳參數

Golang中,命名回傳參數通常被稱為命名參數。 Golang 允許在函數簽章或定義中命名函數的傳回參數或結果。或者您可以說它是關於在函數定義中明確命名返回變數。它實際上消除了在返回語句中提及變數名稱的需要。透過使用命名回傳參數或命名參數,可以簡單地在函數末端使用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) {
  • 這裡,變數muldiv都是int型別。因此,您也可以將具有通用資料類型的命名參數宣告為函數變數(即 a 和 b)
  • 使用命名返回參數可以增強程式碼的可讀性,因為只需讀取函數簽名就可以了解返回參數。
  • 使用命名回傳參數後,傳回語句通常稱為NakedBare return
  • 預設情況下,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

Go 中的關鍵字

Go 中的關鍵字

關鍵字-關鍵字是語言中用於某些內在過程或代表某些預定義動作的字詞。以下是您需要了解的有關 Golang 中的關鍵字的知識。

Golang中的資料類型

Golang中的資料類型

資料類型指定有效的 Go 變數可以包含的資料類型。 Go語言中,類型分為以下四類:

Golang 中的函數參數

Golang 中的函數參數

Go 支援兩種主要的傳遞參數的方式:按值傳遞和按引用傳遞。 Go 預設使用按值傳遞。

Golang中傳回多個值的函數

Golang中傳回多個值的函數

在Go語言中,允許使用return語句從函數傳回多個值。換句話說,在函數中,一個return語句可以傳回多個值。

Go 中的 Switch 語句

Go 中的 Switch 語句

Golang 和大多數其他程式語言一樣,有 switch 語句。以下是如何在 Golang 中使用 switch 語句。

在 Golang 中使用選擇語句時需要了解的案例

在 Golang 中使用選擇語句時需要了解的案例

在本文中,我們將學習如何使用預設情況來避免死鎖。但首先,讓我們先了解一下使用 Golang select 指令時出現死鎖的情況是什麼?

Golang 中的匿名結構和字段

Golang 中的匿名結構和字段

Golang 中的匿名結構是沒有名稱的一次性臨時結構,而匿名欄位允許嵌入未命名的欄位。

如何在 Golang 中使用 Rune

如何在 Golang 中使用 Rune

Golang 中的 Runes 是什麼?如何在 Golang 中使用 Rune?文章會告訴你答案。

如何在 Golang 中使用運算符

如何在 Golang 中使用運算符

運算符允許我們對操作數執行不同類型的操作。在 Go語言中,運算子可以根據其不同的功能進行分類。

Golang 中的 Void 標識符

Golang 中的 Void 標識符

Golang 中的 _(底線)稱為空白標識符。標識符是程式組件的使用者定義名稱,用於識別目的。

如何用 Golang 創建基本程序

如何用 Golang 創建基本程序

你好世界!是任何程式語言中的第一個基本程式。您可以按照以下步驟使用 Golang 編寫第一個程式。

如何在 Windows 上安裝 Go

如何在 Windows 上安裝 Go

Golang 可以輕鬆安裝在 Windows 上。以下是在 Windows 上安裝 Golang 的詳細逐步指南。

Golang 中同名的方法

Golang 中同名的方法

Golang允許在同一個套件中建立兩個或多個同名的方法,但是這些方法的接收者必須是不同的類型。

Go 中的函數

Go 中的函數

在 Go 中,函數是執行特定任務的程式碼區塊,可以在整個程式中重複使用以節省記憶體、提高可讀性並節省時間。

Golang 中的命名回傳參數

Golang 中的命名回傳參數

在 Golang 中,命名回傳參數通常被稱為命名參數。 Golang 允許在函數簽章或定義中命名函數的傳回參數或結果。

WhatsApp 聊天桌布設定說明

WhatsApp 聊天桌布設定說明

WhatsApp 具有聊天桌布更換功能,允許用戶在 WhatsApp 上設定聊天主題。用戶可以從 30 種不同的聊天背景中進行選擇,或使用他們的個人圖像作為 WhatsApp 上的聊天背景。

什麼是 FLV 檔?如何在電腦上開啟FLV檔案?

什麼是 FLV 檔?如何在電腦上開啟FLV檔案?

您經常會從互聯網下載影片到您的電腦以便離線觀看,並且經常會看到 FLV 檔案。您是否正在苦苦思索如何打開它們?今天,我們將在下面的文章中為您提供有關 FLV 視訊檔案的資訊。

如何在手機、電腦上查看 Facebook 新聞存檔

如何在手機、電腦上查看 Facebook 新聞存檔

要查看已發布的 Facebook 新聞,您需要啟動 Facebook 上的新聞檔案。開啟存檔模式後,所有 Facebook 訊息都會保存在存檔中,以便您隨時查看。

最新 MU Luc Dia VNG 代碼以及如何兌換代碼

最新 MU Luc Dia VNG 代碼以及如何兌換代碼

您可以將 MU Luc Dia VNG 遊戲代碼兌換為 Zen 和其他貨幣。

10 款愛書人必備的應用程序

10 款愛書人必備的應用程序

即使你身邊沒有書,也不代表你必須停止閱讀。您只需要一部手機即可試用專為愛書人打造的社交媒體應用程序,找到您想閱讀的下一本書。

了解 Spotify Connect:迫使用戶退出 YouTube 音樂的 Spotify 功能

了解 Spotify Connect:迫使用戶退出 YouTube 音樂的 Spotify 功能

透過一個裝置控制另一個裝置上播放的音樂的能力是一項被低估的功能。 YouTube Music 沒有此功能 - 這迫使人們轉向 Spotify。

如何在 Minecraft Bedrock 和 Java 版本中讓雪球爆炸

如何在 Minecraft Bedrock 和 Java 版本中讓雪球爆炸

Minecraft 指令允許玩家創建許多有趣的效果,其中一個有趣的選項是讓雪球爆炸。以下是在 Minecraft 中製作爆炸雪球的方法。

你的計算機有NPU嗎?檢查方法如下

你的計算機有NPU嗎?檢查方法如下

在 Windows 11 上,您可以透過 3 種非常簡單的方法快速檢查您的電腦是否具有 NPU(神經處理單元)。

休眠模式對 PC 有害嗎?

休眠模式對 PC 有害嗎?

休眠模式的誕生是為了滿足需求,讓電腦全天候運行,而又不想耗盡電池,或確保系統不受電源故障的影響,這與睡眠模式不同。

在 iPhone 上新增 2024 年歐洲盃日曆的說明

在 iPhone 上新增 2024 年歐洲盃日曆的說明

在 iPhone 上新增 2024 年歐洲盃日曆可以幫助用戶輕鬆關注 2024 年歐洲盃這一精彩足球賽事框架內的比賽。

阿里巴巴推出 QwQ-32b,DeepSeek 的有力競爭對手

阿里巴巴推出 QwQ-32b,DeepSeek 的有力競爭對手

阿里巴巴的言論是否會成真還有待觀察,但看起來 ChatGPT 和 DeepSeek 現在有了一位強大的新競爭對手。

關於三星One UI 7的資訊摘要

關於三星One UI 7的資訊摘要

運行 One UI 7.0 的三星 Galaxy 手機將透過鎖定模式更加安全,防止未經授權的攻擊。

如何在 Photoshop 中為照片建立海報效果

如何在 Photoshop 中為照片建立海報效果

使用 Photoshop 為您的影像添加快速簡便的海報效果,以重現使用有限墨水顏色列印的海報的經典外觀。

如何在舊 Outlook 與新 Outlook 之間切換

如何在舊 Outlook 與新 Outlook 之間切換

並非所有人都熟悉新的 Outlook 介面,並希望返回舊版 Outlook 以使用 Outlook 的全部功能和更多自訂功能。以下是在舊版 Outlook 和新版 Outlook 之間切換的說明。