go语言比较常用的用法

来源:互联网 发布:美丽港发型设计软件 编辑:程序博客网 时间:2024/05/01 09:52

1、可以直接通过结构体,而并非实例来调用结构体的函数:

type metricBuilder struct {       metric     string       aggregator string       tags       map[string]string       value      string}func (this metricBuilder) Name(metric string) *metricBuilder {       return &metricBuilder{              metric: metric,       }}
这个结构体的Name函数使用可以这样用:

func CounterN(metric string, cnt int, tags ...map[string]string) error {       mb := metricBuilder{}.Name(metric).CounterN(cnt)       if len(tags) > 0 {              for key, val := range tags[0] {                     mb.Tag(key, val)              }       }       return mb.Push()}
2、通常在建一个包时,经常需要在包里定义一些全局变量,但外部在调用此包时,则需要屏蔽这些全局变量,这种情况下常用的方式有:

在包中定义成员函数与公共函数,其中公共函数可以是成员函数的封装。

在公共函数中,再通过全局变量调用其成员函数。

0 0
原创粉丝点击