Go语言函数嵌套调用(附带实例)
在 Go 语言中,函数可以嵌套调用。函数的嵌套调用就是在一个函数的函数体中调用另一个函数。
例如,在函数 myfun2() 中调用函数 myfun1(),代码如下:
【实例】某歌唱比赛中有 3 个评委,在选手演唱完毕后,3 位评委分别给出分数,将 3 个分数的平均分作为该选手的最后得分。某参赛选手在演唱完毕后,3 位评委给出的分数分别为 95 分、97 分、96 分,通过函数的嵌套调用获取该参赛选手的最后得分。代码如下:
例如,在函数 myfun2() 中调用函数 myfun1(),代码如下:
package main
import "fmt"
func myfun1() { // 定义 myfun1() 函数
fmt.Print("理想是人生的太阳")
}
func myfun2() { // 定义 myfun2() 函数
// 在 myfun2() 函数中调用 myfun1() 函数
myfun1()
}
func main() { // 调用 myfun2() 函数
myfun2()
}
运行结果如下:
理想是人生的太阳
在上述代码中,在主函数中调用 myfun2() 函数,并在 myfun2() 函数中调用 myfun1() 函数,所以结果输出字符串“理想是人生的太阳”。【实例】某歌唱比赛中有 3 个评委,在选手演唱完毕后,3 位评委分别给出分数,将 3 个分数的平均分作为该选手的最后得分。某参赛选手在演唱完毕后,3 位评委给出的分数分别为 95 分、97 分、96 分,通过函数的嵌套调用获取该参赛选手的最后得分。代码如下:
package main
import (
"fmt"
"strconv"
)
func getAverage(score1, score2, score3 float64) float64 { // 定义获取平均分的函数
average := (score1 + score2 + score3) / 3 // 获取3个参数的平均值
// 四舍五入取整数
score, _ := strconv.ParseFloat(fmt.Sprintf("%.0f", average), 64)
return score // 返回平均分
}
func getResult(score1, score2, score3 float64) { // 定义输出结果的函数
// 输出3个评委打分
fmt.Printf("3个评委打分:%v 分、%v 分、%v 分\n", score1, score2, score3)
result := getAverage(score1, score2, score3) // 调用 getAverage()函数
fmt.Printf("该选手最后得分:%v 分", result) // 输出选手最后得分
}
func main() {
getResult(95, 97, 96) // 调用 getResult()函数
}
运行结果如下:
3个评委打分:95分、97分、96分
该选手最后得分:96分
ICP备案:
公安联网备案: