微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

[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://www.jb51.cc/go/189416.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐