• gvar
    • 使用示例

    gvar

    通用动态变量,支持各种内置的数据类型转换,可以作为interface{}类型的替代数据类型,并且该类型支持并发安全

    Tips: 框架同时提供了g.Var的数据类型,其实也是gvar.Var数据类型的别名。

    使用场景

    使用interface{}的场景,各种不固定数据类型格式,或者需要对变量进行频繁的数据类型转换的场景。

    使用方式

    1. import "github.com/gogf/gf/g/container/gvar"

    接口文档

    https://godoc.org/github.com/gogf/gf/g/container/gvar

    使用示例

    1. package main
    2. import (
    3. "github.com/gogf/gf/g"
    4. "fmt"
    5. )
    6. func main() {
    7. var v g.Var
    8. v.Set("123")
    9. fmt.Println(v.Val())
    10. // 基本类型转换
    11. fmt.Println(v.Int())
    12. fmt.Println(v.Uint())
    13. fmt.Println(v.Float64())
    14. // slice转换
    15. fmt.Println(v.Ints())
    16. fmt.Println(v.Floats())
    17. fmt.Println(v.Strings())
    18. // struct转换
    19. type Score struct {
    20. Value int
    21. }
    22. s := new(Score)
    23. v.Struct(s)
    24. fmt.Println(s)
    25. }

    执行后,输出结果为:

    1. 123
    2. 123
    3. 123
    4. 123
    5. [123]
    6. [123]
    7. [123]
    8. &{123}