更换
var c float64 = (-2.0 * math.Pi * k) / N
通过
var c float64 = (-2.0 * math.Pi * float64(k)) / float64(N)
引用规范:
当表达式或赋值中混合了不同的数字类型时,需要进行转换。例如,即使int32和int在特定体系结构上可能具有相同的大小,它们也不是同一类型。
Go使用静态类型输入,不会自动在数字类型之间转换。原因可能是为了避免某些错误。例如,应该
float64(2.5) *int(2)产生什么值和什么类型?结果应该是
int(5)吗?
int(4)?
float64(5.0)?在Go中,这不是问题。Go
FAQ对此还有更多话要说。
@jnml指出,在这种情况下,以下足够了:
var c float64 = -2 * math.Pi / float64(N)



