Go 小技巧之链式调用
在 Go 中实现链式调用可以通过返回结构体指针的方式来实现。具体步骤如下:
1. 定义一个结构体类型,结构体中包含需要链式调用的方法。
2. 在方法中,将结构体指针作为返回值,这样就可以在调用完当前方法后直接调用下一个方法。
例如,下面的代码演示了如何定义一个包含链式调用的结构体类型 Person:
```go
type Person struct {
name string
age int
}
func (p *Person) SetName(name string) *Person {
p.name = name
return p
}
func (p *Person) SetAge(age int) *Person {
p.age = age
return p
}
```
在上面的代码中,SetName 和 SetAge 方法都返回了类型为 *Person 的指针,这样就可以在调用完一个方法后直接调用下一个方法。
下面是如何使用这个结构体类型进行链式调用的示例代码:
```go
p := &Person{}
p.SetName("Tom").SetAge(20)
```
在上面的示例代码中,首先创建了一个 Person 类型的指针 p,然后通过调用 SetName 和 SetAge 方法进行了链式调用。