函數(shù)返回值類型須與簽名相匹配。函數(shù)可返回多個(gè)值或不返回值,后者使用 () 表示。return 語(yǔ)句可提前結(jié)束函數(shù)并返回給定值。多個(gè)返回值使用 return 多個(gè)值返回。
Go 語(yǔ)言函數(shù)返回值的注意事項(xiàng)
在 Go 語(yǔ)言中,函數(shù)可以返回多個(gè)值,或者根本不返回任何值。對(duì)于返回多個(gè)值的函數(shù),每個(gè)返回值的類型都應(yīng)該與函數(shù)簽名中聲明的類型相匹配。如果不返回任何值,則應(yīng)該在函數(shù)簽名的末尾使用 ()
。
以下是一些函數(shù)返回值的注意事項(xiàng):
返回值類型必須與函數(shù)簽名中聲明的類型相匹配。 例如,如果函數(shù)簽名為 func f() string
, 那么該函數(shù)必須返回一個(gè)字符串類型的值。
函數(shù)可以返回多個(gè)值。 如果函數(shù)簽名為 func f() (int, string)
, 那么該函數(shù)可以返回一個(gè)整數(shù)和一個(gè)字符串。
如果函數(shù)不返回任何值,則函數(shù)簽名應(yīng)使用 ()
。 例如,如果函數(shù)簽名為 func f()
, 那么該函數(shù)不返回任何值。
可以在函數(shù)中使用 return
語(yǔ)句提前結(jié)束函數(shù)并返回給定的值。 如果函數(shù)中有多個(gè)返回值,則可以使用 return x, y
語(yǔ)句返回多個(gè)值。
實(shí)戰(zhàn)案例:
以下代碼演示了如何使用返回值類型和 return
語(yǔ)句:
<pre class='brush:golang</a>;toolbar:false;'>// 返回一個(gè)字符串的函數(shù)
func getName() string {
return "John Doe"
}
// 返回一個(gè)整數(shù)和一個(gè)字符串的函數(shù)
func getFullName() (string, string) {
return "John", "Doe"
}
// 不返回任何值的函數(shù)
func printHello() {
fmt.Println("Hello, world!")
}
func main() {
name := getName()
fmt.Println(name) // 輸出:John Doe
firstName, lastName := getFullName()
fmt.Println(firstName, lastName) // 輸出:John Doe
printHello() // 輸出:Hello, world!
}
登錄后復(fù)制