登录
首页 >  Golang >  Go问答

Golang - 使用点分隔符进行函数组合

来源:stackoverflow

时间:2024-02-11 23:12:25 179浏览 收藏

亲爱的编程学习爱好者,如果你点开了这篇文章,说明你对《Golang - 使用点分隔符进行函数组合》很感兴趣。本篇文章就来给大家详细解析一下,主要介绍一下,希望所有认真读完的童鞋们,都有实质性的提高。

问题内容

Go 中有一些我不完全理解的结构:

  • rand.Seed(time.Now().UnixNano())
  • tmpl, err := template.New("name").Parse(...)

因此,函数以点结尾,并在点之后直接“连接”另一个函数。

我如何识别何时可以完成此操作?在 Go 中如何称呼它?


正确答案


正如评论中所述,这称为方法链。

例如,我们有一个 graph 类型:

type graph struct {
    vertices      int
    adjacencylist [][]int
}

func newgraph(vertices int) *graph {
    return &graph{
        vertices:      vertices,
        adjacencylist: make([][]int, vertices),
    }
}

func (g *graph) addedge(v, w int) {
    g.adjacencylist[v] = append(g.adjacencylist[v], w)
}

请注意,构造函数 newgraph() 返回一个 graph 对象。当 graph 类型时,可以调用 addedge 方法。

通常,当我们想在函数中使用它时,我们会调用构造函数,然后链接其他方法。

func main() {
    NewGraph(5).AddEdge(0, 1).AddEdge(0, 2)
}

newgraph(5) 正在初始化具有 5 个顶点的图,并返回 graph 对象。然后通过链接 addedge(0,1) 我们直接向此 graph 对象添加边。

今天关于《Golang - 使用点分隔符进行函数组合》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>