初始化
package main
import (
"fmt"
)
type A struct {
Name string
}
type B struct {
Name string
}
func main() {
a := A{}
a.print()
}
func (a A) print() {
fmt.Println("print A")
}
引用傳遞與值傳遞
package main
import (
"fmt"
)
type A struct {
Name string
}
type B struct {
Name string
}
func main() {
a := A{}
a.print()
fmt.Println(a)
b := B{}
b.print()
fmt.Println(b)
}
func (a *A) print() {
a.Name = "AA"
}
func (b B) print() {
b.Name = "BB"
}
底層結構爲基本類型,方法添加
package main
import (
"fmt"
)
type myint int8
func main() {
var a myint
a.print()
}
func (a *myint) print() {
fmt.Println("myint")
}
方法傳遞
package main
import (
"fmt"
)
type A struct {
Name string
}
type B struct {
A
}
func main() {
b := B{}
b.print()
}
func (a *A) print() {
fmt.Println("myint")
}