Categories: GoFrame 教程

GoFrame gvar-基本使用

基本使用

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]

JSON序列化/反序列

gvar.Var​容器实现了标准库​json​数据格式的序列化/反序列化接口。

Marshal

 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]}

Unmarshal

 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]}

andy

前端小白,在Web176教程网这个平台跟大家一起学习,加油!

Share
Published by
andy

Recent Posts

vue:页面注入js修改input值

一般会直接这样写: let z…

2 小时 ago

聊聊vue3中的defineProps

在Vue 3中,defineP…

1 周 ago

在 Chrome 中删除、允许和管理 Cookie

您可以选择删除现有 Cooki…

2 周 ago

自定义指令:聊聊vue中的自定义指令应用法则

今天我们来聊聊vue中的自定义…

3 周 ago

聊聊Vue中@click.stop和@click.prevent

一起来学下聊聊Vue中@cli…

4 周 ago

Nginx 基本操作:启动、停止、重启命令。

我们来学习Nginx基础操作:…

1 月 ago