github.com/songzhibin97/gkit@v1.2.13/container/group/example_test.go (about)

     1  package group
     2  
     3  func createResources() interface{} {
     4  	return map[int]int{}
     5  }
     6  
     7  func createResources2() interface{} {
     8  	return []int{}
     9  }
    10  
    11  var group LazyLoadGroup
    12  
    13  func ExampleNewGroup() {
    14  	// 类似 sync.Pool 一样
    15  	// 初始化一个group
    16  	group = NewGroup(createResources)
    17  }
    18  
    19  func ExampleGroup_Get() {
    20  	// 如果key 不存在 调用 NewGroup 传入的 function 创建资源
    21  	// 如果存在则返回创建的资源信息
    22  	v := group.Get("test")
    23  	_ = v
    24  }
    25  
    26  func ExampleGroup_ReSet() {
    27  	// ReSet 重置初始化函数,同时会对缓存的 key进行清空
    28  	group.ReSet(createResources2)
    29  }
    30  
    31  func ExampleGroup_Clear() {
    32  	// 清空缓存的 buffer
    33  	group.Clear()
    34  }