2 回答

TA贡献1783条经验 获得超4个赞
在范围声明中
for _, f := range fixtures { ... }
f是一个新声明的局部变量类型Fixture。它不是对任何东西的引用。所以在设置它的值之后,它必须被放入fixtures切片。
package main
import "fmt"
type Fixture struct {
Probabilities *[]float64
}
func main() {
fixtures := []Fixture{}
f := Fixture{}
fixtures = append(fixtures, f)
for i, f := range fixtures {
p := []float64{}
p = append(p, 0.5)
p = append(p, 0.2)
p = append(p, 0.3)
f.Probabilities = &p
fixtures[i] = f
}
for _, f := range fixtures {
fmt.Printf("%v", f.Probabilities)
}
}
(也在这里)
输出
&[0.5 0.2 0.3]

TA贡献1876条经验 获得超5个赞
将元素值存储在切片中。例如,
package main
import "fmt"
type Fixture struct {
Probabilities *[]float64
}
func main() {
fixtures := make([]Fixture, 1)
for i := range fixtures {
p := []float64{0.5, 0.2, 0.3}
fixtures[i] = Fixture{Probabilities: &p}
}
for _, f := range fixtures {
fmt.Println(*f.Probabilities)
}
}
输出:
[0.5 0.2 0.3]
- 2 回答
- 0 关注
- 213 浏览
添加回答
举报