Golang中傳回多個值的函數

在Golang語言中,允許使用 return 語句從函數傳回多個值。換句話說,在函數中,一個return語句可以傳回多個值。傳回值的類型與參數清單中指定的參數的類型相同。

Golang中傳回多個值的函數

句法:

func function_name(parameter_list)(return_type_list){
     // code...
}

裡面:

  • function_name:這是函數的名稱。
  • 參數列表:包含函數參數的名稱和類型。
  • return_type_list:可選,包含函數傳回值的類型。如果您在函數中使用 return_type,那麼您需要在函數中使用 return 語句。

例如:

// Chương trình Go minh họa
// cách hàm trả về nhiều giá trị
package main 

import "fmt"

// myfunc trả về 3 giá trị của kiểu int
func myfunc(p, q int)(int, int, int ){ 
	return p - q, p * q, p + q 
} 

// Phương thức chính
func main() { 
	
	// Giá trị trả về được gắn vào
	// 3 biến khác nhau
var myvar1, myvar2, myvar3 = myfunc(4, 2) 
	
// Hiện giá trị
fmt.Printf("Result is: %d", myvar1 ) 
fmt.Printf("\nResult is: %d", myvar2) 
fmt.Printf("\nResult is: %d", myvar3) 
} 

結果:

Result is: 2
Result is: 8
Result is: 6

命名回傳值

在 Go 語言中,您可以為傳回值提供名稱。您也可以在程式碼中使用這些變數名。不需要用return語句寫出這些名稱,因為 Go 編譯器會自動理解這些變數應該要保留。這種回報類型稱為最低迴報。傳回最少的內容可以減少程式中的重複。

句法:

func function_name(para1, para2 int)(name1 int, name2 int){
    // code...
}

hoặc

func function_name(para1, para2 int)(name1, name2 int){
   // code...
}

這裡,name1name2是傳回值的名稱,para1para2是函數的參數。

例如:

// Minh họa chương trình Go
// cách đặt tên cho giá trị trả về
package main 

import "fmt"

// myfunc trả về 2 giá trị của kiểu int 
// đây là tên giá trị trả về:
// rectangle và square
func myfunc(p, q int)( rectangle int, square int ){ 
	rectangle = p*q 
	square = p*p 
	return
} 

func main() { 
	
	// Giá trị trả về được gán cho 
	// hai biến khác nhau
var area1, area2 = myfunc(2, 4) 
	
// Hiện giá trị
fmt.Printf("Area of the rectangle is: %d", area1 ) 
fmt.Printf("\nArea of the square is: %d", area2) 
	
} 

結果:

Area of the rectangle is: 8
Area of the square is: 4
Sign up and earn $1000 a day ⋙

Leave a Comment

普通電視和智慧電視的差別

普通電視和智慧電視的差別

智慧電視確實風靡全球。憑藉如此多的強大功能和互聯網連接,科技改變了我們觀看電視的方式。

為什麼冷凍室沒有燈,冷藏室有燈?

為什麼冷凍室沒有燈,冷藏室有燈?

冰箱是家庭中常見的家用電器。冰箱通常有 2 個隔間,冷藏室寬敞,並且每次使用者打開時都會自動亮燈,而冷凍室狹窄且沒有燈。

解決 Wi-Fi 速度變慢的網路擁塞問題的 2 種方法

解決 Wi-Fi 速度變慢的網路擁塞問題的 2 種方法

除了路由器、頻寬和乾擾之外,Wi-Fi 網路還受到許多因素的影響,但也有一些智慧的方法可以增強您的網路效能。

如何使用 Tenorshare Reiboot 將 iOS 17 降級到 iOS 16 且不遺失數據

如何使用 Tenorshare Reiboot 將 iOS 17 降級到 iOS 16 且不遺失數據

如果您想在手機上恢復穩定的 iOS 16,這裡是卸載 iOS 17 並從 iOS 17 降級到 16 的基本指南。

每天吃優​​格會對身體產生什麼影響?

每天吃優​​格會對身體產生什麼影響?

酸奶是一種美妙的食物。每天吃優​​格好嗎?每天吃酸奶,你的身體會發生怎樣的變化?讓我們一起來了解一下吧!

哪種米最有益於健康?

哪種米最有益於健康?

本文討論了最有營養的米種類以及如何最大限度地發揮所選米的健康益處。

如何早上準時起床

如何早上準時起床

制定睡眠時間表和就寢習慣、更改鬧鐘以及調整飲食都是可以幫助您睡得更好、早上準時起床的一些措施。

玩 Rent Please! 的提示新手模擬房東

玩 Rent Please! 的提示新手模擬房東

請租用! Landlord Sim 是一款適用於 iOS 和 Android 的模擬手機遊戲。您將扮演一個公寓大樓的房東,開始出租公寓,目標是升級公寓的內部並為租戶做好準備。

最新浴室塔防代碼及代碼輸入方法

最新浴室塔防代碼及代碼輸入方法

取得浴室塔防 Roblox 遊戲代碼並兌換令人興奮的獎勵。它們將幫助您升級或解鎖具有更高傷害的塔。

變壓器的結構、符號和工作原理

變壓器的結構、符號和工作原理

讓我們以最準確的方式了解變壓器的結構、符號和運作原理。

人工智慧讓智慧電視更上一層樓的四種方式

人工智慧讓智慧電視更上一層樓的四種方式

從更好的影像和聲音品質到語音控制等等,這些人工智慧功能讓智慧電視變得更好!

為什麼 ChatGPT 比 DeepSeek 更好

為什麼 ChatGPT 比 DeepSeek 更好

最初,人們對DeepSeek寄予厚望。作為 ChatGPT 強勁競爭對手的 AI 聊天機器人,它承諾提供智慧聊天功能和體驗。

認識 Fireflies.ai:免費的 AI 秘書,幫你節省大量工作時間

認識 Fireflies.ai:免費的 AI 秘書,幫你節省大量工作時間

在記下其他重要事項時很容易錯過重要細節,而在聊天時記筆記可能會分散注意力。 Fireflies.ai 就是解決方案。

如何飼養 Minecraft 中的美西蠑螈,馴服 Minecraft 中的蠑螈

如何飼養 Minecraft 中的美西蠑螈,馴服 Minecraft 中的蠑螈

如果玩家知道如何使用 Axolot Minecraft,它將成為玩家在水下操作時的絕佳助手。

《噤界:前路》PC遊戲配置

《噤界:前路》PC遊戲配置

《寂靜之地:前路》的配置評價相當高,因此您需要在決定下載之前考慮其配置。