十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
package main
import (
    "github.com/GOgf/gf/v2/frame/g"
    "fmt"
)
func main() {
    var v g.Var
    v.Set("123")
    fmt.Println(v.Val())
    // 基本类型转换
    fmt.Println(v.Int())
    fmt.Println(v.Uint())
    fmt.Println(v.Float64())
    // slice转换
    fmt.Println(v.Ints())
    fmt.Println(v.Floats())
    fmt.Println(v.Strings())
}执行后,输出结果为:

123
123
123
123
[123]
[123]
[123]
gvar.Var容器实现了标准库json数据格式的序列化/反序列化接口。 
 package main
 import (
     "encoding/json"
     "fmt"
     "github.com/gogf/gf/v2/frame/g"
 )
 func main() {
     type Student struct {
         Id     *g.Var
         Name   *g.Var
         Scores *g.Var
     }
     s := Student{
         Id:     g.NewVar(1),
         Name:   g.NewVar("john"),
         Scores: g.NewVar([]int{100, 99, 98}),
     }
     b, _ := json.Marshal(s)
     fmt.Println(string(b))
 }执行后,输出结果:
 {"Id":1,"Name":"john","Scores":[100,99,98]}
 package main
 import (
     "encoding/json"
     "fmt"
     "github.com/gogf/gf/v2/frame/g"
 )
 func main() {
     b := []byte(`{"Id":1,"Name":"john","Scores":[100,99,98]}`)
     type Student struct {
         Id     *g.Var
         Name   *g.Var
         Scores *g.Var
     }
     s := Student{}
     json.Unmarshal(b, &s)
     fmt.Println(s)
 }执行后,输出结果:
 {1 john [100,99,98]}