Documentation ¶
Index ¶
- func DeepClone(v interface{}) interface{}
- func DeepCopy(dst, src interface{})
- func GetIp(r *http.Request) string
- func RandGroup(p ...uint32) int
- func RandInterval(b1, b2 int32) int32
- func RandIntervalN(b1, b2 int32, n uint32) []int32
- type Map
- func (m *Map) Del(key interface{})
- func (m *Map) Get(key interface{}) interface{}
- func (m *Map) Len() int
- func (m *Map) LockRange(f func(interface{}, interface{}))
- func (m *Map) RLockRange(f func(interface{}, interface{}))
- func (m *Map) Set(key interface{}, value interface{})
- func (m *Map) TestAndSet(key interface{}, value interface{}) interface{}
- func (m *Map) UnsafeDel(key interface{})
- func (m *Map) UnsafeGet(key interface{}) interface{}
- func (m *Map) UnsafeLen() int
- func (m *Map) UnsafeRange(f func(interface{}, interface{}))
- func (m *Map) UnsafeSet(key interface{}, value interface{})
- type Semaphore
Examples ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func DeepClone ¶
func DeepClone(v interface{}) interface{}
Example ¶
package main import ( "fmt" "github.com/BruceYuan10/leaf_vg/util" ) func main() { src := []int{1, 2, 3} dst := util.DeepClone(src).([]int) for _, v := range dst { fmt.Println(v) } }
Output: 1 2 3
func DeepCopy ¶
func DeepCopy(dst, src interface{})
Example ¶
package main import ( "fmt" "github.com/BruceYuan10/leaf_vg/util" ) func main() { src := []int{1, 2, 3} var dst []int util.DeepCopy(&dst, &src) for _, v := range dst { fmt.Println(v) } }
Output: 1 2 3
func RandGroup ¶
Example ¶
package main import ( "fmt" "github.com/BruceYuan10/leaf_vg/util" ) func main() { i := util.RandGroup(0, 0, 50, 50) switch i { case 2, 3: fmt.Println("ok") } }
Output: ok
func RandInterval ¶
Example ¶
package main import ( "fmt" "github.com/BruceYuan10/leaf_vg/util" ) func main() { v := util.RandInterval(-1, 1) switch v { case -1, 0, 1: fmt.Println("ok") } }
Output: ok
Types ¶
type Map ¶
Example ¶
package main import ( "fmt" "github.com/BruceYuan10/leaf_vg/util" ) func main() { m := new(util.Map) fmt.Println(m.Get("key")) m.Set("key", "value") fmt.Println(m.Get("key")) m.Del("key") fmt.Println(m.Get("key")) m.Set(1, "1") m.Set(2, 2) m.Set("3", 3) fmt.Println(m.Len()) }
Output: <nil> value <nil> 3
func (*Map) RLockRange ¶
func (m *Map) RLockRange(f func(interface{}, interface{}))
func (*Map) TestAndSet ¶
func (m *Map) TestAndSet(key interface{}, value interface{}) interface{}
func (*Map) UnsafeRange ¶
func (m *Map) UnsafeRange(f func(interface{}, interface{}))
Click to show internal directories.
Click to hide internal directories.