{"id":24805230,"url":"https://github.com/ilyaumanets/learning_go","last_synced_at":"2026-07-03T08:33:30.292Z","repository":{"id":229559375,"uuid":"238016691","full_name":"IlyaUmanets/learning_go","owner":"IlyaUmanets","description":null,"archived":false,"fork":false,"pushed_at":"2020-02-07T12:20:57.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-10-30T06:36:25.820Z","etag":null,"topics":["golang","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/IlyaUmanets.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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,"zenodo":null}},"created_at":"2020-02-03T17:02:14.000Z","updated_at":"2020-02-07T12:20:59.000Z","dependencies_parsed_at":"2024-03-30T19:34:43.291Z","dependency_job_id":null,"html_url":"https://github.com/IlyaUmanets/learning_go","commit_stats":null,"previous_names":["ilyaumanets/learning_go"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/IlyaUmanets/learning_go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyaUmanets%2Flearning_go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyaUmanets%2Flearning_go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyaUmanets%2Flearning_go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyaUmanets%2Flearning_go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/IlyaUmanets","download_url":"https://codeload.github.com/IlyaUmanets/learning_go/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/IlyaUmanets%2Flearning_go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":35079373,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-07-03T02:00:05.635Z","response_time":110,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["golang","rest-api"],"created_at":"2025-01-30T07:17:15.456Z","updated_at":"2026-07-03T08:33:30.286Z","avatar_url":"https://github.com/IlyaUmanets.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Learning go\n\n## First steps\n\n`First steps` folder includes 6 small scripts I managed using Golang\n\n- even\n- geometry\n- max\n- multithread\n- strings\n- sum\n\nTo run a single script go to `first_steps` folder and run `go run even.go` in example\n\n### Even\n\nWrite a function which takes an integer and halves it and returns true if it was even or false if it was odd.\nFor example half(1) should return (0, false) and half(2) should return (1, true).\n\n### Geometry\n\nJust a plain code to measure perim and area of `rect` and `circle` by using `interface` and `structs`\n\n### Max\n\nWrite a function with one variadic parameter that finds the greatest number in a list of numbers.\n\n### Multithread\n\nJust a plain code to print `ping pong` string by using `channels`\n\n### Strings\n\nThere are most common `string` fuctions you might use\n\n### Sum\n\nSum is a function which takes a slice of numbers and adds them together.\nWhat would its function signature look like in Go?\n\n# Rest API\n\n We are building a simple REST-API with Golang a router package called Mux. The main resource we're going to work with is `post`\n \n Go to `rest_api` folder, run `go install`, then run `go run main.go` and use the Postman for testing purposes.\n \n*Available endpoints*\n\n## Create a post\n\n*POST* `http:localhost:8000/posts`\n\n```\n{\n  \"title\": \"yours title\",\n  \"body\": \"yours body text\"\n}\n```\n\n## Get all posts\n\n*GET* `http:localhost:8000/posts`\n\n## Get a single post\n\n*GET* `http:localhost:8000/posts/1`\n\n## Update a single post\n\n*PUT* `http:localhost:8000/posts/1`\n\n```\n{\n  \"title\": \"new awesome title\",\n  \"body\": \"new awesome body\"\n}\n```\n\n## Delete a single post\n\n*DELETE* `http:localhost:8000/posts/1`\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyaumanets%2Flearning_go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filyaumanets%2Flearning_go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filyaumanets%2Flearning_go/lists"}