20 lines
416 B
Go
20 lines
416 B
Go
|
|
// /futriis/pkg/types/id.go
|
||
|
|
// Пакет types предоставляет утилиты для генерации ID
|
||
|
|
|
||
|
|
package types
|
||
|
|
|
||
|
|
import (
|
||
|
|
"fmt"
|
||
|
|
"sync/atomic"
|
||
|
|
"time"
|
||
|
|
)
|
||
|
|
|
||
|
|
var idCounter uint64
|
||
|
|
|
||
|
|
// GenerateID генерирует уникальный ID
|
||
|
|
func GenerateID() string {
|
||
|
|
counter := atomic.AddUint64(&idCounter, 1)
|
||
|
|
timestamp := time.Now().UnixNano()
|
||
|
|
return fmt.Sprintf("%d-%d", timestamp, counter)
|
||
|
|
}
|