最近看到一个 go 结构体不常见用法,下面是代码:
package main
import "fmt"
type Struct struct {}
func (t Struct) StructMethod () {
fmt.Println ("StructMethod ()")
}
func (t *Struct) PtrMethod () {
fmt.Println ("PtrMethod ()")
}
func main () {
Struct.StructMethod (Struct {})
(*Struct).StructMethod (&Struct {})
(*Struct).PtrMethod (&Struct {})
(*Struct).PtrMethod (nil)
}
结果: