在條件語句中呼叫函數
在Go 中計算條件語句中函數的值時,調用它們的正確方法是聲明函數的回傳值。考慮以下程式碼:
package main import "fmt" func main() { if sumThis(1, 2) > sumThis(3, 4) { fmt.Println("test") } else { fmt.Println("derp") } } func sumThis(a, b int) { // NOTE: Missing return value return a + b }
執行此程式碼將導致以下錯誤:
./test4.go:4: sumThis(1, 2) used as value ./test4.go:4: sumThis(3, 4) used as value ./test4.go:11: too many arguments to return
出現此問題的原因是 sumThis 函數缺少傳回值聲明。為了解決這個問題,我們需要指定函數的回傳類型,在本例中是整數(int):
func sumThis(a, b int) int { return a + b }
此修改聲明了函數的傳回值,允許條件語句正確評估sumThis 函數傳回的值。
以上是如何在Go的條件語句中正確呼叫函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!