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
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章