To embed a pointer to a struct in another struct in Go, you can simply declare a pointer field in the outer struct that has the type of the inner struct. Here's an example:
package main
import "fmt"
type InnerStruct struct {
Field1 int
Field2 string
}
type OuterStruct struct {
Inner *InnerStruct
}
func main() {
inner := &InnerStruct{
Field1: 42,
Field2: "Hello",
}
outer := &OuterStruct{
Inner: inner,
}
fmt.Println(outer.Inner.Field1) // Accessing a field of the inner struct through the outer struct
}
In the example above, OuterStruct
has a pointer field Inner
that points to an instance of InnerStruct
. To embed the pointer to InnerStruct
in the OuterStruct
, declare the Inner
field as a pointer to InnerStruct
(*InnerStruct
).
You can then create an instance of InnerStruct
and assign its pointer to the Inner
field of OuterStruct
(using the &
operator). Finally, you can access the fields of the inner struct through the outer struct as demonstrated in the fmt.Println
statement.