Struct types

A struct is a sequence of named elements, called fields, each of which has a name and a type. Field names may be specified explicitly (IdentifierList) or implicitly (EmbeddedField). Within a struct, non-blank field names must be unique.

StructType    = "struct" "{" { FieldDecl ";" } "}" .
FieldDecl     = (IdentifierList Type | EmbeddedField) [ Tag ] .
EmbeddedField = [ "*" ] TypeName .
Tag           = string_lit .
// Defined new Struct Type NOT fields yet
// Go language keyword "type" and "struct" plus {}
type Person struct {
 
}
// Field Description :- FieldDec1
// FieldDec1 :- IdentifierList Type
type Person struct {
    name string
    age int
}