go语言编程之——可变参数

package main

import "fmt"

func main() {
   ////1. 传n个成绩
   //sum , avg , count := getScore(12,46,17,79,100)
   //fmt.Printf("学生公用%d门成绩,总成绩为%.2f ,平均成绩为%.2f", count, sum ,avg)
   ////2.传入一个切片
   //scores := []float64{12,46,17,79,100}
   //sum , avg , count = getScore(scores...)
   //fmt.Printf("学生公用%d门成绩,总成绩为%.2f ,平均成绩为%.2f", count, sum ,avg)

   //接下来再传入一个string类型的参数:当可变参数有多个类型的参数的时候,只能有一个可变参数,可变参数作为lastest parameter
   scores := []float64{12,46,17,79,100}
   sum , avg , count, user  := getScore2("lucy",scores...)
   fmt.Printf("学生%s共有%d门成绩,总成绩为%.2f ,平均成绩为%.2f",user, count, sum ,avg)

}

func getScore(scores ... float64) (sum float64, avg float64, count int) {

    for _, score := range scores{
       sum += score
       count ++
   }
   avg = sum /float64(count)
   return

}

func getScore2(name string , scores ...float64)(sum float64, avg float64, count int, user string){

    user = name
    for _,score := range scores{
      sum += score
      count ++
    }
     avg = sum/float64(count)
   return
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章