面试题答案
一键面试- 基本思路:
- 在Go语言中实现函数链式调用,主要是通过返回一个包含方法的结构体实例来实现。每个方法返回同一个结构体实例,这样就可以在同一个实例上连续调用多个方法,从而实现链式调用。
- 示例代码:
package main
import "fmt"
// 定义一个结构体
type Chain struct {
value int
}
// 第一个方法
func (c *Chain) Method1() *Chain {
c.value += 1
return c
}
// 第二个方法
func (c *Chain) Method2() *Chain {
c.value *= 2
return c
}
func main() {
result := Chain{1}.Method1().Method2()
fmt.Println(result.value)
}
在上述代码中:
- 定义了一个
Chain
结构体,它有一个int
类型的字段value
。 Method1
和Method2
方法都返回*Chain
类型的指针,即结构体实例自身,使得可以进行链式调用。- 在
main
函数中,通过Chain{1}.Method1().Method2()
实现了两个函数的链式调用,并最终打印出结果。