我收到错误,在 cluster = append(clusters, Cluster{Point{rand.Float64()}, []Point{}}) 行的结构初始化器中的值太少
引发错误的函数如下。
func initClusters(k int) (clusters []Cluster) {
rand.Seed(time.Now().UnixNano())
for i := 0; i < k; i++ {
clusters = append(clusters, Cluster{Point{rand.Float64()},[]Point{}})
}
return
}
我设置 k = 3,定义的簇结构是
type Cluster struct {
Center Point
Points []Point
}
该点也是一个结构体,定义为:
type Point struct {
X float64
Y float64
}
有人可以帮忙吗?
结构复合文字必须使用命名字段或指定所有字段。 Point 结构有两个字段:X 和 Y。假设您尝试设置 X 字段,请执行以下操作之一:
Point{X: rand.Float64()} // Y defaults to zero value
Point(X: rand.Float64(), Y: 0} // Y explicitly set to zero using name
Point(rand.Float64(), 0} // Y explicitly set to zero using positional value
按名称指定结构字段通常优于位置值。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)