天天看點

go語言中的函數聲明

函數聲明包括函數名、形式參數清單、傳回值清單(可省略)以及函數體。

func name(parameter-list) (result-list) {
	body
}
           

形式參數清單描述了函數的參數名以及參數類型。這些參數作為局部變量,其值由參數調用者提供。傳回值清單描述了函數傳回值的變量名以及類型。如果函數傳回一個無名變量或者沒有傳回值,傳回值清單的括号是可以省略的。如果一個函數聲明不包括傳回值清單,那麼函數體執行完畢後,不會傳回任何值。 在hypot函數中,

func hypot(x, y float64) float64 {
	return math.Sqrt(x*x + y*y)
}
fmt.Println(hypot(3,4)) // "5"
           

x和y是形參名,3和4是調用時的傳入的實數,函數傳回了一個float64類型的值。 傳回值也可以像形式參數一樣被命名。在這種情況下,每個傳回值被聲明成一個局部變量,并根據該傳回值的類型,将其初始化為0。 如果一個函數在聲明時,包含傳回值清單,該函數必須以 return語句結尾,除非函數明顯無法運作到結尾處。例如函數在結尾時調用了panic異常或函數中存在無限循環。

繼續閱讀