counter.gno
0.59 Kb · 33 lines
1package staker
2
3type Counter struct {
4 id int64
5}
6
7// NewCounter creates a counter initialized at zero.
8//
9// Returns:
10// - counter: Counter whose next generated identifier is 1.
11func NewCounter() *Counter {
12 return &Counter{
13 id: 0,
14 }
15}
16
17// Next increments the counter and returns the new identifier.
18//
19// Returns:
20// - id: Counter value after incrementing by one.
21func (c *Counter) Next() int64 {
22 c.id++
23
24 return c.id
25}
26
27// Get returns the counter's current identifier without incrementing it.
28//
29// Returns:
30// - id: Current counter value.
31func (c *Counter) Get() int64 {
32 return c.id
33}