go"繼承"
這兩種方式有本質的區別麼?
package main
import (
"fmt"
)
type Book struct {
Title string
Author string
Intor string
}
type MyBook struct {
Book
Content string
}
func main() {
my := &MyBook{
Content: "xxx",
}
my.Book = Book{
Title: "Go",
Author: "songtianyi",
Intor: "GoGoGo",
}
fmt.Println(my)
fmt.Println(my.Title)
}
package main
import (
"fmt"
)
type Book struct {
Title string
Author string
Intor string
}
type MyBook struct {
Bo Book
Content string
}
func main() {
my := &MyBook{
Content: "xxx",
}
my.Bo = Book{
Title: "Go",
Author: "songtianyi",
Intor: "GoGoGo",
}
fmt.Println(my)
fmt.Println(my.Bo.Title)
}
好像並沒有什麼區別, 唯一的區別是呼叫屬性和方法的時候 可以省去 Book
package main
import (
"fmt"
)
type Book struct {
Title string
Author string
Intor string
}
func (s *Book) String() {
fmt.Println(s.Title, s.Author, s.Intor)
}
type MyBook struct {
Book
Content string
}
func main() {
my := &MyBook{
Content: "xxx",
}
my.Book = Book{
Title: "Go",
Author: "songtianyi",
Intor: "GoGoGo",
}
fmt.Println(my)
fmt.Println(my.Title)
my.String()
}
更多原創文章乾貨分享,請關注公眾號
- 加微信實戰群請加微信(註明:實戰群):gocnio
相關文章
- odoo 繼承(owl繼承、web繼承、view繼承)Odoo繼承WebView
- 原型,繼承——原型繼承原型繼承
- 菱形繼承,虛繼承繼承
- 多繼承 與 多重繼承繼承
- C++繼承詳解:共有(public)繼承,私有(private)繼承,保護(protected)繼承C++繼承
- 三種繼承的方法:public 繼承/private繼承/protected繼承詳解及區別繼承
- Javascript繼承4:潔淨的繼承者—-原型式繼承JavaScript繼承原型
- Javascript繼承2:建立即繼承—-建構函式繼承JavaScript繼承函式
- 繼承繼承
- C++繼承一之公有繼承C++繼承
- JS原型繼承和類式繼承JS原型繼承
- C++中公有繼承、保護繼承、私有繼承的區別C++繼承
- 公有繼承、私有繼承和保護繼承之間的對比繼承
- day23:單繼承&多繼承&菱形繼承&__init__魔術方法繼承
- 類的繼承_子類繼承父類繼承
- JavaScript繼承JavaScript繼承
- JavaScript 繼承JavaScript繼承
- 多繼承繼承
- Java繼承Java繼承
- javascript:繼承JavaScript繼承
- swift繼承Swift繼承
- js繼承JS繼承
- 虛繼承繼承
- 10 #### 繼承繼承
- python 基礎之繼承、重寫、多繼承Python繼承
- PostgreSQL 表繼承SQL繼承
- 16-繼承繼承
- 粗談繼承繼承
- 原型和繼承原型繼承
- javascript之繼承JavaScript繼承
- JavaScript class 繼承JavaScript繼承
- JavaScript extends 繼承JavaScript繼承
- Javascrip—繼承(10)Java繼承
- 類的繼承繼承
- Swift-繼承Swift繼承
- PostgreSQL:表繼承SQL繼承
- python繼承Python繼承
- java繼承extendsJava繼承