package main
 
import (
    "fmt"
)
 
type Person struct {
    id       int
    username string
    sex      byte
}
 
type Student struct {
    Person
    score int
    rank  int
}
 
func main() {
    //顺序初始化
    var s1 Student = Student{Person{1, "mayuan", 'm'}, 30, 50}
    fmt.Printf("s1 = %+v \n", s1)
    //指定元素赋值
    s1.username = "cjp"
    fmt.Printf("s1 = %+v \n", s1)
 
    //给匿名属性整体赋值
    s1.Person = Person{12, "cuijiapeng", 'w'}
    //匿名字段中的成员赋值
    s1.Person.username = "Bob";
    fmt.Printf("s1 = %+v \n", s1)
}