Skip to content

docs: add go port to README#57

Open
nrednav wants to merge 1 commit into
paralleldrive:mainfrom
nrednav:readme/add-go-port
Open

docs: add go port to README#57
nrednav wants to merge 1 commit into
paralleldrive:mainfrom
nrednav:readme/add-go-port

Conversation

@nrednav

@nrednav nrednav commented Jun 19, 2023

Copy link
Copy Markdown

Link to port: nrednav/cuid2

Apologies for yet another Go port of this library. I noticed the other implementations did not include a complete suite of tests and so I wanted to try my hand at recreating the full package, including collision tests.

I tried to incorporate as much as I could gather from the ongoing discussion in #33. Would greatly appreciate any feedback.

Todo / Missing

  • Add histogram.go with tests for buildHistogram

@ericelliott

ericelliott commented Aug 9, 2023

Copy link
Copy Markdown
Collaborator

I am not a go expert, but you could make the counter thread safe, right?

import "sync/atomic"

type Counter struct {
	value int64
}

func NewCounter(initialCount int64) *Counter {
	return &Counter{
		value: initialCount,
	}
}

func (c *Counter) Increment() int64 {
	return atomic.AddInt64(&c.value, 1)
}

@nrednav

nrednav commented Sep 17, 2023

Copy link
Copy Markdown
Author

@ericelliott great suggestion, thanks! made the updates in: nrednav/cuid2#1 and nrednav/cuid2#2

@nrednav

nrednav commented Oct 26, 2024

Copy link
Copy Markdown
Author

Package updated to include latest changes: nrednav/cuid2#5

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants