Golang expvar.Int type, NewInt(), Add(), Set() and String() functions examples
package expvar
Int is a 64-bit integer variable that satisfies the Var interface.
Example 1 :
var (
adminPort = flag.String("adminPort", "4567", "localhost port to boot the admin server on")
apiVars = expvar.NewMap("api")
staticVars = expvar.NewMap("static")
webVars = expvar.NewMap("web")
apiRequests = new(expvar.Int) // <-- here
staticRequests = new(expvar.Int)
)
Example 2 :
package main
import (
"fmt"
"net/http"
"expvar"
)
func kvfunc(kv expvar.KeyValue) {
fmt.Println(kv.Key, kv.Value)
}
func main() {
var inerInt int64 = 10 /// <---- here
pubInt := expvar.NewInt("Int")
pubInt.Set(inerInt)
pubInt.Add(2)
var inerFloat float64 = 1.2
pubFloat := expvar.NewFloat("Float")
pubFloat.Set(inerFloat)
pubFloat.Add(0.1)
var inerString string = "hello gophers"
pubString := expvar.NewString("String")
pubString.Set(inerString)
pubMap := expvar.NewMap("Map").Init()
pubMap.Set("Int", pubInt)
pubMap.Set("Float", pubFloat)
pubMap.Set("String", pubString)
pubMap.Add("Int", 1)
pubMap.Add("NewInt", 123)
pubMap.AddFloat("Float", 0.5)
pubMap.AddFloat("NewFloat", 0.9)
pubMap.Do(kvfunc)
expvar.Do(kvfunc) // <---- here
http.HandleFunc("/", func (w http.ResponseWriter, r *http.Request) {
fmt.Fprint(w, "hello gophers")
})
err := http.ListenAndServe(":8080", nil)
if err != nil {
panic(err)
}
}
References :
Advertisement
Something interesting
Tutorials
+16.8k Golang : Get own process identifier
+18.9k Golang : Read input from console line
+15.2k Golang : How to add color to string?
+15.2k Golang : Save(pipe) HTTP response into a file
+8.3k Golang : Check if integer is power of four example
+22.2k Golang : How to run Golang application such as web server in the background or as daemon?
+4.9k HTTP common errors and their meaning explained
+8.7k Golang : Combine slices but preserve order example
+17k Golang : Fix cannot convert buffer (type *bytes.Buffer) to type string error
+26.8k Golang : Convert file content into array of bytes
+6.1k Fix ERROR 2003 (HY000): Can't connect to MySQL server on 'IP address' (111)
+8.7k Golang : How to join strings?