Go 中的函數

在 Go 中,函數是執行特定任務的程式碼區塊,可以在整個程式中重複使用以節省記憶體、提高可讀性並節省時間。Golang函數可能會或可能不會向呼叫者傳回值。

Go 中的函數

關於 Golang 函數你需要知道的事情

例如:

package main
import "fmt"

// multiply() nhân 2 số nguyên và trả về kết quả
func multiply(a, b int) int {
    return a * b
}

func main() {
    result := multiply(5, 10)
    fmt.Printf("multiplication: %d", result)
}

結果:

multiplication: 50

Golang 中的函數語法

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

函數聲明

在 Go 中,函數以 func 關鍵字聲明,後面跟著名稱、參數和可選的回傳類型。

句法

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

乘法函數範例

func multiply(a, b int) int {
    return a * b
}

func:用於宣告函數的關鍵字。
function_name:函數的名稱,例如乘。
參數列表:a、b int——參數及其類型。
Return_type:int 指定回傳類型。

呼叫功能

要使用函數,只需使用函數名稱和必要的參數呼叫函數即可。這裡,multiply(5, 10)呼叫以510為參數的函數。

例如

result := multiply(5, 10)
fmt.Printf("Result of multiplication: %d", result)

函數參數

Go支援兩種向函數傳遞參數的方式:按值呼叫和按引用呼叫。預設情況下,Go 使用按值調用,這意味著值被複製並且函數內部的更改不會影響調用者的變數。

按值調用

在按值呼叫中,參數的值被複製到函數參數中,因此函數中的變更不會影響原始變數。

例如:

package main
import "fmt"

func multiply(a, b int) int {
    a = a * 2 // chỉnh sửa bên trong hàm này
    return a * b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(x, y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

結果:

Before: x = 5, y = 10
multiplication: 100
After: x = 5, y = 10

透過引用調用

在透過引用呼叫中,使用指針,以便函數內部的變化反映在呼叫者的變數中。

例如:

package main
import "fmt"

func multiply(a, b *int) int {
    *a = *a * 2 // chỉnh sửa giá trị của a ở địa chỉ bộ nhớ của nó
    return *a * *b
}

func main() {
    x := 5
    y := 10
    fmt.Printf("Before: x = %d, y = %d\n", x, y)
    result := multiply(&x, &y)
    fmt.Printf("multiplication: %d\n", result)
    fmt.Printf("After: x = %d, y = %d\n", x, y)
}

結果

Before: x = 5, y = 10
multiplication: 100
After: x = 10, y = 10
Sign up and earn $1000 a day ⋙

Leave a Comment

ChatGPT 全球崩潰

ChatGPT 全球崩潰

11月22日上午,OpenAI的ChatGPT聊天機器人出現大面積問題,全球眾多用戶無法使用這款AI應用。

如何使用WiFi分析儀來提升您的Wi-Fi連接

如何使用WiFi分析儀來提升您的Wi-Fi連接

僅僅購買新的 Wi-Fi 路由器並不足以增強您的網路。為了充分利用您的 Wi-Fi,您需要確保獲得最佳的範圍、訊號和頻率。

身體與我們溝通的方式常常被忽視

身體與我們溝通的方式常常被忽視

我們的身體就像機器,不斷發出訊號和訊息,但我們很少注意它們。讓我們看看我們的身體想透過下面的訊號告訴我們什麼。

世界上最高的陸地動物

世界上最高的陸地動物

世界上最高的動物是?本文將為您總結陸地上最大的動物。

計算機中的基本測量單位

計算機中的基本測量單位

位元 (Bit) 是二進位數字 (Binary Digit) 的縮寫,是電腦記憶體中最小單位的術語,可以儲存兩種資訊狀態之一:0 或 1(可以理解為電腦中電晶體的開啟或關閉狀態)。

如何利用提醒功能改善你的筆記習慣

如何利用提醒功能改善你的筆記習慣

良好的記憶習慣始於提醒——它們在正確的時間出現,捕捉那些轉瞬即逝的想法。

7 款免費應用,幫助你瞬間提升手機拍照質量

7 款免費應用,幫助你瞬間提升手機拍照質量

仍有許多免費且功能強大的攝影工具可用於增強您的照片。

讓 Google 搜尋小工具更實用的技巧

讓 Google 搜尋小工具更實用的技巧

Google 搜尋小工具可讓您快速存取 Google 搜尋和發現提要,以及語音搜尋和 Google Lens。

如何登入並關閉密碼過期提醒

如何登入並關閉密碼過期提醒

如果您在 Windows 登入畫面上看到「您的密碼已過期,必須變更」訊息,這是因為 Windows 本機帳戶的密碼預設每 42 天過期一次。

如何在 Chrome、Coc Coc 上將 WebP 圖片轉換為 PNG、JPG

如何在 Chrome、Coc Coc 上將 WebP 圖片轉換為 PNG、JPG

要將 WebP 圖像轉換為 PNG 和 JPG 格式,我們可以透過多種不同的方式來完成,例如直接在圖像 URL 上進行轉換或使用圖像轉換工具。

ChatGPT 畫布模式的 4 種使用方法

ChatGPT 畫布模式的 4 種使用方法

ChatGPT 的新 Canvas 模式為世界領先的生成式 AI 引擎中的寫作和編輯增添了新的維度。

人們最不喜歡人工智慧照片編輯器的地方

人們最不喜歡人工智慧照片編輯器的地方

雖然 AI 照片編輯器可以顯著簡化您的編輯工作流程,但它們還遠非完美。用戶不喜歡它們的一些方面,在今天的文章中,您將發現它們是什麼。

修復 Google Play Store 無法自動更新應用程式的問題

修復 Google Play Store 無法自動更新應用程式的問題

當 Play Store 不自動更新應用程式時,使用者可能會錯過新功能、安全性修補程式和錯誤修復。幸運的是,您可以按照以下步驟設定 Google Play 商店以自動更新您的應用程式。

任天堂透過虛擬遊戲卡徹底改變了數位遊戲的共享方式

任天堂透過虛擬遊戲卡徹底改變了數位遊戲的共享方式

任天堂在任天堂直面會上正式推出了虛擬遊戲卡系統,此舉徹底改變了數位遊戲的發行方式。

使用 Messenger 在手機和電腦上傳送文件的說明

使用 Messenger 在手機和電腦上傳送文件的說明

除了在 Messenger 上發送照片外,用戶現在還可以透過該應用程式向其他人發送文件,包括所有文件文件格式,例如 pdf、doc、xlx...