【发布时间】:2015-11-11 11:15:58
【问题描述】:
我想将函数 T_conv 与浮点数或浮点数切片一起使用。 此示例使用 float 作为 T_conv 的参数:
func T_conv(T ...interface{}) []interface{} {
var r []interface{} = make([]interface{}, len(T))
for i, v := range T {
fmt.Printf("Ind: %d Result: %v, type: %T\n", i, v, v)
r[i] = v.(float64) * 1.00024
}
return r
}
func main() {
v := T_conv(20.0)
fmt.Printf("Result: %v, type: %T\n", v, v)
}
http://play.golang.org/p/YhdFoXyY_e
但在运行时以切片作为参数失败:
func main() {
v := T_conv([]float64{20.0, 21.0})
fmt.Printf("Result: %v, type: %T\n", v, v)
}
结果:
Ind:0 结果:[20 21],类型:[]float64
恐慌:接口转换:接口是[]float64,而不是float64
【问题讨论】: