定义连贯操作的结构体方法
- package toy
- type Toy struct {
- nick string
- shape string
- color string
- height int
- }
- func (t *Toy) SetNick(nick string) *Toy {
- t.nick = nick
- return t
- }
- func (t *Toy) SetShape(shape string) *Toy {
- t.shape = shape
- return t
- }
- func (t *Toy) SetColor(color string) *Toy {
- t.color = color
- return t
- }
- func (t *Toy) SetHeight(height int) *Toy {
- t.height = height
- return t
- }
连贯调用
- package main
- import "toy"
- func main() {
- var t = new(toy.Toy).
- SetNick("nick").
- SetShape("dog").
- SetColor("white").
- SetHeight(10)
- _ = t
- }