以下常用方法列表,文档更新可能滞后于代码新特性,更多的方法及示例请参考代码文档: https://pkg.go.dev/github.com/gogf/gf/v2/container/gvar
New
- 说明:
New
创建并返回一个带有给定value
的新Var
。可选参数safe
指定是否在并发安全中使用Var
,其默认值是false
。 - 格式:
func New(value interface{}, safe ...bool) *Var
- 示例:
// New
func ExampleVarNew() {
v := gvar.New(400)
g.Dump(v)
// Output:
// "400"
}
Clone
- 说明:
Clone
将当前Var
的浅拷贝并返回一个指向此Var
的指针。 - 格式:
func (v *Var) Clone() *Var
- 示例
// Clone
func ExampleVar_Clone() {
tmp := "fisrt hello"
v := gvar.New(tmp)
g.DumpWithType(v.Clone())
fmt.Println(v == v.Clone())
// Output:
// *gvar.Var(11) "fisrt hello"
// false
}
Set
- 说明:
Set
将v
的值设置为value
并返回v
的旧值。 - 格式:
func (v *Var) Set(value interface{}) (old interface{})
- 示例:
// Set
func ExampleVar_Set() {
var v = gvar.New(100.00)
g.Dump(v.Set(200.00))
g.Dump(v)
// Output:
// 100
// "200"
}
Val
- 说明:
Val
返回v
的当前值,类型为interface{}
。 - 格式:
func (v *Var) Val() interface{}
- 示例:
// Val
func ExampleVar_Val() {
var v = gvar.New(100.00)
g.DumpWithType(v.Val())
// Output:
// float64(100)
}
Interface
- 说明:
Interface
是Val
的别名。 - 格式:
func (v *Var) Interface() interface{}
- 示例:
// Interface
func ExampleVar_Interface() {
var v = gvar.New(100.00)
g.DumpWithType(v.Interface())
// Output:
// float64(100)
}
Bytes
- 说明:
Bytes
将v
转换为字节数组。 - 格式:
func (v *Var) Bytes() []byte
- 示例:
// Bytes
func ExampleVar_Bytes() {
var v = gvar.New("GoFrame")
g.DumpWithType(v.Bytes())
// Output:
// []byte(7) "GoFrame"
}
String
- 说明:
String
将v
转换为字符串。 - 格式:
func (v *Var) String() string
- 示例:
// String
func ExampleVar_String() {
var v = gvar.New("GoFrame")
g.DumpWithType(v.String())
// Output:
// string(7) "GoFrame"
}
Bool
- 说明:
Bool
将v
转换为布尔值。 - 格式:
func (v *Var) Bool() bool
- 示例:
// Bool
func ExampleVar_Bool() {
var v = gvar.New(true)
g.DumpWithType(v.Bool())
// Output:
// bool(true)
}
Int
- 说明:
Int
将v
转换为整型。 - 格式:
func (v *Var) Int() int