初始化
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")
}