11. 11.Variadic_Functions(可变参数函数)

在Python中,您可以通过somefunction(* args)接受各种类型,

但是Go则无法实现。但是,您可以使类型成为接口,从而能够获得更多丰富的类型结构。

11.1. Python

from __future__ import division


def average(*numbers):
    return sum(numbers) / len(numbers)


print(average(1, 2, 3, 4))  # 10/4 = 2.5

11.2. Go

package main

import "fmt"

func average(numbers ...float64) float64 {
    total := 0.0
    for _, number := range numbers {
        total += number
    }
    return total / float64(len(numbers))
}
func main() {
    fmt.Println(average(1,2,3,4))   //2.5
}