首頁 >後端開發 >Golang >為什麼我的 Go 函數呼叫會導致「用作值」錯誤?

為什麼我的 Go 函數呼叫會導致「用作值」錯誤?

DDD
DDD原創
2024-12-19 10:02:10963瀏覽

Why Does My Go Function Call Result in the

函數呼叫中的「用作值」

在Go中,可以呼叫函數來計算其值,可以在條件中使用聲明。然而,在計算函數值時,確保正確的函數宣告和呼叫至關重要。

在提供的程式碼片段中:

if sumThis(1,2) > sumThis(3,4){
    fmt.Println("test")
} else {
    fmt.Println("derp")
}

函數 sumThis 被多次呼叫以計算其值。但是,錯誤訊息表明 sumThis 被“用作值”,這意味著函數呼叫正在嘗試將函數呼叫的結果分配給變數而不指定返回類型。

要解決此問題,您需要為 sumThis 函數宣告一個回傳類型。在 Go 中,函數必須明確聲明其傳回類型。函數應宣告如下:

func sumThis(a, b int) int {
    return a + b
}

透過指定傳回型別為 int,函數將傳回計算結果。現在,程式碼將成功編譯並運行,根據函數呼叫的結果列印“test”或“derp”。

以上是為什麼我的 Go 函數呼叫會導致「用作值」錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn