[GO]小技巧,如何实现一个链式操作

package main

import "fmt"

type Stu struct {
    Name string
    Age  int
}

func (p *Stu) SetName(name string) *Stu {
    p.Name = name
    return p
}

func (p *Stu) SetAge(age int) *Stu {
    p.Age = age
    return p
}

func (p *Stu) Print()  {
    fmt.Printf("age:%d, name:%s\n", p.Age, p.Name)
}

func main() {
    stu := &Stu{}
    stu.SetAge(12).SetName("baylor").Print()//这里就可以实现链式的调用
}

 

posted @ 2018-11-22 16:21  蟒城贝勒爷  阅读(669)  评论(0编辑  收藏  举报