[GO]匿名字段的同名字段操作
阿新 • • 發佈:2018-09-09
沒有 style color pan ike spa 繼承 printf 操作
package main import ( "fmt" ) type Person struct { name string sex byte age int } type Student struct { Person //只有名字,沒有字段,這裏student相當於繼承了person的所有字段,就有點像是繼承了 id int addr string name string //這裏跟person裏的字段同名了,那麽被使用的時候,操作是studnet還是persion裏的name ? //這裏也是遵守作用域的就近規則} func main() { var s Student s.name = "mike" fmt.Printf("s = %+v\n", s)//通過打印就可以知道它操作的是student裏的name,同樣適用作用域的就近規則,如果沒有找到,則找繼承 //那麽如果就是想操作person裏的name呢? s.Person.name = "baylor" fmt.Printf("s = %+v\n", s) }
掃行的結果為
s = {Person:{name: sex:0 age:0} id:0 addr: name:mike} s = {Person:{name:baylor sex:0age:0} id:0 addr: name:mike}
[GO]匿名字段的同名字段操作