?
本文檔使用 php中文網(wǎng)手冊 發(fā)布
import "expvar"
概述
索引
軟件包 expvar 為公共變量提供了標(biāo)準(zhǔn)化接口,如服務(wù)器中的操作計數(shù)器。它以 JSON 格式在 /debug/vars 中通過 HTTP 公開這些變量。
設(shè)置或修改這些公共變量的操作是原子操作。
除了添加 HTTP 處理程序之外,該程序包還會注冊以下變量:
cmdline os.Args memstats runtime.Memstats
該包有時只是為了注冊 HTTP 處理程序和上述變量的副作用而導(dǎo)入。要以這種方式使用,請將此程序包鏈接到您的程序中:
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
expvar.go
func Do(f func(KeyValue))
對每個導(dǎo)出的變量都調(diào)用 f 。全局變量映射在迭代期間被鎖定,但現(xiàn)有條目可能會同時更新。
func Handler() http.Handler
處理程序返回expvar HTTP處理程序。
這只需要將處理程序安裝在非標(biāo)準(zhǔn)位置。
func Publish(name string, v Var)
發(fā)布聲明一個命名的導(dǎo)出變量。這應(yīng)該在創(chuàng)建其變量時從包的 init 函數(shù)中調(diào)用。如果名稱已經(jīng)注冊,那么這將會 log.Panic。
Float 是一個滿足 Var 接口的64位浮點型變量。
type Float struct { // 包含已過濾或未導(dǎo)出的字段}
func NewFloat(name string) *Float
func (v *Float) Add(delta float64)
添加將增量添加到v。
func (v *Float) Set(value float64)
將v設(shè)置為值。
func (v *Float) String() string
func (v *Float) Value() float64
Func 通過調(diào)用函數(shù)并使用 JSON 格式化返回的值來實現(xiàn) Var。
type Func func() interface{}
func (f Func) String() string
func (f Func) Value() interface{}
Int 是一個滿足 Var 接口的64位整數(shù)變量。
type Int struct { // 包含已過濾或未導(dǎo)出的字段}
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
KeyValue 表示 Map 中的單個條目。
type KeyValue struct { Key string Value Var}
Map 是一個滿足 Var 接口的字符串到 Var 映射變量。
type Map struct { // 包含已過濾或未導(dǎo)出的字段}
func NewMap(name string) *Map
func (v *Map) Add(key string, delta int64)
添加將增量添加到存儲在給定映射鍵下的 *Int 值。
func (v *Map) AddFloat(key string, delta float64)
AddFloat 將增量添加到存儲在給定映射關(guān)鍵字下的 *Float值。
func (v *Map) Do(f func(KeyValue))
請為地圖中的每個條目調(diào)用 f 。迭代期間地圖被鎖定,但現(xiàn)有條目可能會同時更新。
func (v *Map) Get(key string) Var
func (v *Map) Init() *Map
Init 從地圖上刪除所有密鑰。
func (v *Map) Set(key string, av Var)
func (v *Map) String() string
字符串是一個字符串變量,并且滿足 Var 接口。
type String struct { // 包含已過濾或未導(dǎo)出的字段}
func NewString(name string) *String
func (v *String) Set(value string)
func (v *String) String() string
字符串實現(xiàn) Val 接口。要獲取未加引號的字符串,請使用 Value。
func (v *String) Value() string
Var是所有導(dǎo)出變量的抽象類型。
type Var interface { // String返回變量的有效JSON值。 // 具有不返回有效JSON的String方法的類型 // (例如time.Time)不能用作Var。 String() string}
func Get(name string) Var
獲取一個命名的導(dǎo)出變量。如果名稱尚未注冊,則返回 nil。