Я пытаюсь обдумать следующую упрощенную версию моей проблемы.
Я хотел бы инициализировать структуру, в которой есть фрагмент структуры другого типа.
Я рассмотрел различные примеры, которые кажутся для более простых версий, где структурапросто содержит фрагмент [] int и т. д.
Кажется, я не могу понять, что мне нужно для инициализации моей структуры / фрагментов.
Срез Swells
может иметь произвольную длину, включая пустую.
package main
import (
"fmt"
)
type Swell struct {
Slot uint
Height float32
Period float32
Dir uint
}
type ForecastHour struct {
Year uint
Month uint
Day uint
Hour uint
Swells []Swell
}
func NewForecastHour() *ForecastHour {
p := ForecastHour{}
p.Year = 2019
p.Month = 10
p.Day = 3
p.Hour = 13
p.Swells[0] := { Slot: 0, Height: 2.20, Period: 15.5,Dir: 300 }
p.Swells[1] := { Slot: 1, Height: 1.20, Period: 5.5,Dir: 90 }
p.Swells[2] := { Slot: 5, Height: 0.98, Period: 7.5,Dir: 180 }
return &p
}
func main() {
ThisHour := NewForecastHour()
fmt.Println(ThisHour)
}
Когда я запускаю вышеупомянутое, я получаю:
./test.go:30:16: non-name p.Swells[0] on left side of :=
./test.go:30:23: syntax error: unexpected {, expecting expression
./test.go:31:8: syntax error: non-declaration statement outside function body