首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

expvar

  • import "expvar"
  • 概述
  • 索引

概述

软件包 expvar 为公共变量提供了标准化接口,如服务器中的操作计数器。它以 JSON 格式在 /debug/vars 中通过 HTTP 公开这些变量。

设置或修改这些公共变量的操作是原子操作。

除了添加 HTTP 处理程序之外,该程序包还会注册以下变量:

代码语言:javascript
复制
cmdline   os.Args
memstats  runtime.Memstats

该包有时只是为了注册 HTTP 处理程序和上述变量的副作用而导入。要以这种方式使用,请将此程序包链接到您的程序中:

代码语言:javascript
复制
import _ "expvar"

索引

  • func Do(f func(KeyValue))
  • func Handler() http.Handler
  • func Publish(name string, v Var)
  • type Float
  • func NewFloat(name string) *Float
  • func (v *Float) Add(delta float64)
  • func (v *Float) Set(value float64)
  • func (v *Float) String() string
  • func (v *Float) Value() float64
  • type Func
  • func (f Func) String() string
  • func (f Func) Value() interface{}
  • type Int
  • func NewInt(name string) *Int
  • func (v *Int) Add(delta int64)
  • func (v *Int) Set(value int64)
  • func (v *Int) String() string
  • func (v *Int) Value() int64
  • type KeyValue
  • type Map
  • func NewMap(name string) *Map
  • func (v *Map) Add(key string, delta int64)
  • func (v *Map) AddFloat(key string, delta float64)
  • func (v *Map) Do(f func(KeyValue))
  • func (v *Map) Get(key string) Var
  • func (v *Map) Init() *Map
  • func (v *Map) Set(key string, av Var)
  • func (v *Map) String() string
  • type String
  • func NewString(name string) *String
  • func (v *String) Set(value string)
  • func (v *String) String() string
  • func (v *String) Value() string
  • type Var
  • func Get(name string) Var

包文件

代码语言:javascript
复制
func Do(f func(KeyValue))

对每个导出的变量都调用 f 。全局变量映射在迭代期间被锁定,但现有条目可能会同时更新。

代码语言:javascript
复制
func Handler() http.Handler

处理程序返回 expvar HTTP 处理程序。

这只需要将处理程序安装在非标准位置。

代码语言:javascript
复制
func Publish(name string, v Var)

发布声明一个命名的导出变量。这应该在创建其变量时从包的 init 函数中调用。如果名称已经注册,那么这将会 log.Panic。

Float 是一个满足 Var 接口的64位浮点型变量。

代码语言:txt
复制
type Float struct {
        // 包含已过滤或未导出的字段
}
代码语言:javascript
复制
func NewFloat(name string) *Float

func (*Float) Add(查看源代码)

代码语言:javascript
复制
func (v *Float) Add(delta float64)

添加将增量添加到v。

func (*Float) Set(查看源代码)

代码语言:javascript
复制
func (v *Float) Set(value float64)

将v设置为值。

func (*Float) String(查看源代码)

代码语言:javascript
复制
func (v *Float) String() string

func (*Float) Value(查看源代码)

代码语言:javascript
复制
func (v *Float) Value() float64

Func 通过调用函数并使用 JSON 格式化返回的值来实现 Var。

代码语言:javascript
复制
type Func func() interface{}

func (Func) String(查看源代码)

代码语言:javascript
复制
func (f Func) String() string

func (Func) Value(查看源代码)

代码语言:javascript
复制
func (f Func) Value() interface{}

Int 是一个满足 Var 接口的64位整数变量。

代码语言:txt
复制
type Int struct {
        // 包含已过滤或未导出的字段
}
代码语言:javascript
复制
func NewInt(name string) *Int

func (*Int) Add(查看源代码)

代码语言:javascript
复制
func (v *Int) Add(delta int64)

func (*Int) Set(查看源代码)

代码语言:javascript
复制
func (v *Int) Set(value int64)

func (*Int) String(查看源代码)

代码语言:javascript
复制
func (v *Int) String() string

func (*Int) Value(查看源代码)

代码语言:javascript
复制
func (v *Int) Value() int64

KeyValue 表示 Map 中的单个条目。

代码语言:javascript
复制
type KeyValue struct {
        Key   string
        Value Var
}

Map 是一个满足 Var 接口的字符串到 Var 映射变量。

代码语言:txt
复制
type Map struct {
        // 包含已过滤或未导出的字段
}
代码语言:javascript
复制
func NewMap(name string) *Map

func (*Map) Add(查看源代码)

代码语言:javascript
复制
func (v *Map) Add(key string, delta int64)

添加将增量添加到存储在给定映射键下的 *Int 值。

func (*Map) AddFloat(查看源代码)

代码语言:javascript
复制
func (v *Map) AddFloat(key string, delta float64)

AddFloat 将增量添加到存储在给定映射关键字下的 *Float值。

func (*Map) Do(查看源代码)

代码语言:javascript
复制
func (v *Map) Do(f func(KeyValue))

请为地图中的每个条目调用 f 。迭代期间地图被锁定,但现有条目可能会同时更新。

func (*Map) Get(查看源代码)

代码语言:javascript
复制
func (v *Map) Get(key string) Var

func (*Map) Init(查看源代码)

代码语言:javascript
复制
func (v *Map) Init() *Map

Init 从地图上删除所有密钥。

func (*Map) Set(查看源代码)

代码语言:javascript
复制
func (v *Map) Set(key string, av Var)

func (*Map) String(查看源代码)

代码语言:javascript
复制
func (v *Map) String() string

字符串是一个字符串变量,并且满足 Var 接口。

代码语言:txt
复制
type String struct {
        // 包含已过滤或未导出的字段
}

func NewString(查看源代码)

代码语言:javascript
复制
func NewString(name string) *String

func (*String) Set(查看源代码)

代码语言:javascript
复制
func (v *String) Set(value string)

func (*String) String(查看源代码)

代码语言:javascript
复制
func (v *String) String() string

字符串实现 Val 接口。要获取未加引号的字符串,请使用 Value。

func (*String) Value(查看源代码)

代码语言:javascript
复制
func (v *String) Value() string

Var是所有导出变量的抽象类型。

代码语言:txt
复制
type Var interface {
        // String返回变量的有效JSON值。
        // 具有不返回有效JSON的String方法的类型
        // (例如time.Time)不能用作Var。
        String() string
}
代码语言:javascript
复制
func Get(name string) Var

获取一个命名的导出变量。如果名称尚未注册,则返回 nil。

扫码关注腾讯云开发者

领取腾讯云代金券