Documentation
¶
Index ¶
- func DeepClone(v interface{}) interface{}
- func DeepCopy(dst, src interface{})
- 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/CreFire/leaf/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/CreFire/leaf/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/CreFire/leaf/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/CreFire/leaf/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/CreFire/leaf/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.