| 1234567891011121314151617181920212223242526272829303132333435 |
- package missinggo
- import (
- "bytes"
- "expvar"
- "fmt"
- )
- type IndentMap struct {
- expvar.Map
- }
- var _ expvar.Var = (*IndentMap)(nil)
- func NewExpvarIndentMap(name string) *IndentMap {
- v := new(IndentMap)
- v.Init()
- expvar.Publish(name, v)
- return v
- }
- func (v *IndentMap) String() string {
- var b bytes.Buffer
- fmt.Fprintf(&b, "{")
- first := true
- v.Do(func(kv expvar.KeyValue) {
- if !first {
- fmt.Fprintf(&b, ",")
- }
- fmt.Fprintf(&b, "\n\t%q: %v", kv.Key, kv.Value)
- first = false
- })
- fmt.Fprintf(&b, "}")
- return b.String()
- }
|