{"id":18853727,"url":"https://github.com/venndev/vgo","last_synced_at":"2026-02-05T06:30:16.496Z","repository":{"id":256890639,"uuid":"856735853","full_name":"VennDev/VGo","owner":"VennDev","description":"The library helps you have the async-await syntax in Go that runs on goroutines.","archived":false,"fork":false,"pushed_at":"2024-09-18T17:24:27.000Z","size":30,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-30T18:19:38.814Z","etag":null,"topics":["async-await","asynchronous","asynchronous-programming","golang-package","goroutine","goroutines"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VennDev.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":"2024-09-13T05:32:49.000Z","updated_at":"2024-09-16T16:37:17.000Z","dependencies_parsed_at":"2024-12-30T18:19:25.824Z","dependency_job_id":"897c5501-2f56-4020-a139-c190cb8d0bb2","html_url":"https://github.com/VennDev/VGo","commit_stats":null,"previous_names":["venndev/vgo"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VennDev%2FVGo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VennDev%2FVGo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VennDev%2FVGo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VennDev%2FVGo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VennDev","download_url":"https://codeload.github.com/VennDev/VGo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239793054,"owners_count":19697893,"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":["async-await","asynchronous","asynchronous-programming","golang-package","goroutine","goroutines"],"created_at":"2024-11-08T03:45:24.930Z","updated_at":"2026-02-05T06:30:16.464Z","avatar_url":"https://github.com/VennDev.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# VGo\nThe library helps you have the async-await syntax in Go that runs on goroutines.\n\n# Install\n`go get github.com/VennDev/VGo`\n\n# Example\n```go\npackage vgo\n\nimport (\n\t\"fmt\"\n\t\"strconv\"\n\t\"testing\"\n)\n\nfunc doAsync() *Async {\n\treturn \u0026Async{\n\t\tCallback: func() interface{} {\n\t\t\treturn 30\n\t\t},\n\t}\n}\n\nfunc TestAsync(t *testing.T) {\n\tasync := doAsync()\n\tresult := Await(async)\n\tfmt.Println(\"Result async:\", strconv.Itoa(result.(int))) // Output: Result async: 30\n}\n\nfunc TestDeferred(t *testing.T) {\n\tdeferred := \u0026Deferred{\n\t\tCallback: func() interface{} {\n\t\t\treturn 50\n\t\t},\n\t}\n\tresult := deferred.Await()\n\tfmt.Println(\"Result deferred:\", strconv.Itoa(result.(int))) // Output: Result deferred: 50\n}\n\nfunc TestDeferredAll(t *testing.T) {\n\tdeferred := \u0026Deferred{}\n\tresult := deferred.All(\n\t\tfunc() interface{} {\n\t\t\treturn 10\n\t\t},\n\t\tfunc() interface{} {\n\t\t\treturn 20\n\t\t},\n\t\tfunc() interface{} {\n\t\t\treturn 30\n\t\t},\n\t).Await()\n\tfmt.Println(\"Result deferred all:\", result) // Output: Result deferred all: [10 20 30]\n}\n\nfunc TestDeferredAny(t *testing.T) {\n\tdeferred := \u0026Deferred{}\n\tresult := deferred.Any(\n\t\tfunc() interface{} {\n\t\t\treturn 10\n\t\t},\n\t\tfunc() interface{} {\n\t\t\treturn 20\n\t\t},\n\t\tfunc() interface{} {\n\t\t\treturn 30\n\t\t},\n\t).Await()\n\tfmt.Println(\"Result deferred any:\", result) // Output: Result deferred any: 10\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenndev%2Fvgo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvenndev%2Fvgo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvenndev%2Fvgo/lists"}