{"id":15861890,"url":"https://github.com/yakdriver/setricks","last_synced_at":"2025-04-01T20:34:20.063Z","repository":{"id":97600154,"uuid":"198694574","full_name":"YakDriver/setricks","owner":"YakDriver","description":"Go module providing set operations","archived":false,"fork":false,"pushed_at":"2019-07-27T16:25:58.000Z","size":19,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2023-03-02T14:51:32.409Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/YakDriver.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-07-24T19:04:59.000Z","updated_at":"2024-06-19T13:19:10.937Z","dependencies_parsed_at":null,"dependency_job_id":"169875bc-621d-46b7-ab95-5be15451d4b8","html_url":"https://github.com/YakDriver/setricks","commit_stats":null,"previous_names":[],"tags_count":2,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YakDriver%2Fsetricks","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YakDriver%2Fsetricks/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YakDriver%2Fsetricks/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/YakDriver%2Fsetricks/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/YakDriver","download_url":"https://codeload.github.com/YakDriver/setricks/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246709931,"owners_count":20821297,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-05T22:21:05.682Z","updated_at":"2025-04-01T20:34:20.039Z","avatar_url":"https://github.com/YakDriver.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# setricks\nThe Go language doesn't really have a \"set\" data structure _per se_ but surely you can accomplish set-type operations (union, intersection, except) using maps, right? This Go module provides these operations.\n\nTo play around with this module and the set operations, [install go](https://medium.com/@dirk.avery/install-git-and-go-on-macos-8c0503028814) and take a look at the [test file](https://github.com/YakDriver/setricks/blob/master/setricks_test.go) for examples of using the set operations:\n\n(You could also fork and change the regex that finds the data if you have other types of data.)\n\nThe test data:\n\n`testdata/set1.data`:\n\n```\n red 42\n green 58\n blue 92\n```\n\n`testdata/set2.data`:\n\n```\n yellow 18\n blue 30\n orange 88\n```\n\n```\nUnion: map[blue:30 green:58 orange:88 red:42 yellow:18]\n\nIntersection: map[blue:30]\n\nExcept 1: map[green:58 red:42]\n\nExcept 2: map[orange:88 yellow:18]\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyakdriver%2Fsetricks","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyakdriver%2Fsetricks","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyakdriver%2Fsetricks/lists"}