[Go小技巧] 如何写很酷的连贯操作?

定义连贯操作的结构体方法 

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
}

 

转载于:https://my.oschina.net/henrylee2cn/blog/741323

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值