Go embeded struc’s

In my previous post, concerning embeded struc’s, I said “I don’t undestand the syntax”. To expand on my misunderstanding, it’s in the creation of p1, specifically the person: person part (see below)

type person struct {
	First string
	Last  string
	Age   int
}

type doubleZero struct {
	person
	LicenseToKill bool
}
func main() {
	p1 := doubleZero{
		person: person{
			First: "James",
			Last:  "Bond",
			Age:   20,
		},
		LicenseToKill: true,
	}
}

I get the second person… it’s the type. But I don’t get the first person. I can’t code person1: person, so if they have to be the same… why require it? Just default to that behavior.

I also said I could just seek further clarification on google or YouTube. So that’s what I did, and ironically I found this explanation from the same instructor. The example he uses is almost identical to the one from the course. And the funny thing is, he had the same problem creating sa1 (I think it’s called type), as I did with the pa1 type above. And specifically the person: person, part. He had to look at his notes to get the syntax correct. To his credit he said he hadn’t done it in a bit.

Also, not really important, but I see he uses OBS. I edit that out.