{"id":21982577,"url":"https://github.com/crazybber/go-fucking-exercise","last_synced_at":"2025-06-23T19:05:37.251Z","repository":{"id":115954572,"uuid":"257456716","full_name":"crazybber/go-fucking-exercise","owner":"crazybber","description":"go basic learning exercises for starting trip as a new beginner or reviewing courses","archived":false,"fork":false,"pushed_at":"2021-02-04T02:10:27.000Z","size":179,"stargazers_count":22,"open_issues_count":0,"forks_count":7,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-02T10:04:00.812Z","etag":null,"topics":["basic","beginner","exercise","go-basic","go-grammer","golang","golangbasic","grammar","new","starter","starter-kit","starterkit","starters","startup"],"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/crazybber.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":"2020-04-21T02:14:27.000Z","updated_at":"2024-08-02T16:15:25.000Z","dependencies_parsed_at":null,"dependency_job_id":"718e7875-7373-48a1-86b2-61d0ad5227b1","html_url":"https://github.com/crazybber/go-fucking-exercise","commit_stats":null,"previous_names":["crazybber/go-exercise"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/crazybber/go-fucking-exercise","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazybber%2Fgo-fucking-exercise","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazybber%2Fgo-fucking-exercise/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazybber%2Fgo-fucking-exercise/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazybber%2Fgo-fucking-exercise/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crazybber","download_url":"https://codeload.github.com/crazybber/go-fucking-exercise/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crazybber%2Fgo-fucking-exercise/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":261539316,"owners_count":23174135,"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":["basic","beginner","exercise","go-basic","go-grammer","golang","golangbasic","grammar","new","starter","starter-kit","starterkit","starters","startup"],"created_at":"2024-11-29T17:29:16.903Z","updated_at":"2025-06-23T19:05:37.214Z","avatar_url":"https://github.com/crazybber.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 说明 instruction\n\nif you want to find **go-awesome-patterns** you can check : [Go Patterns(go-awesome-patterns)](https://github.com/crazybber/go-awesome-patterns)\n\n如果你是冲着 **go的各种实践模式(包含常用设计模式)**,看这里：[Go模式(go-awesome-patterns)](https://github.com/crazybber/go-awesome-patterns)\n\nrepo can be used as a basic starter or reviewing of golang features\n\n本仓库是Go语言基础,用来温习Go的常用套路或者作为入门学习.\n\nall case was written by testing ,more story more cases\n\n都以Test方式来写,方便直接测试,内容更加丰富,Test Case更加完善.\n\ndowload 下载：\n\n```go\ngo get github.com/crazybber/go-fucking-exercise\n```\n\nTest 测试：\n\n```go\ncd go-fucking-exercise\ngo test ./...\n```\n\n## Ways 姿势\n\n逐个跑一遍或者敲一遍(可以直接COPY),但是要确保理解了，就可以丢一边了。\n\n\n## current dir structure 当前目录结构\n\n+ basic 基础类型\n  + [Hello World](./basic)\n  + [Values](./basic)\n  + [Variables](./basic)\n  + [Constants](./basic)\n  + [For](./basic)\n  + [If/Else](./basic)\n  + [Switch](./basic)\n  + [Arrays](./basic)\n  + [Slices](./basic)\n  + [Maps](./basic)\n  + [Range](./basic)\n  + [Functions](./basic)\n  + [Multiple Return Values](./basic)\n  + [Variadic Functions](./basic)\n  + [Closures](./basic)\n  + [Recursion](./basic)\n  + [Pointers](./basic)\n+ pattern go 的基本组合继承模式\n  + [Structs](./patterns)\n  + [Methods](./patterns)\n  + [Interfaces](./patterns)\n  + [Errors](.//patterns)\n+ go routine 和Channels\n  + [Goroutines](./routine)\n  + [Channels](./routine)\n  + [Channel Buffering](./routine)\n  + [Channel Synchronization](./routine)\n  + [Channel Directions](./routine)\n  + [Select](./routine)\n  + [Timeouts](./routine)\n  + [Non-Blocking Channel Operations](./routine)\n  + [Closing Channels](./routine)\n  + [Range over Channels](./routine)\n+ skill 常用套路\n  + [Timers](./skill)\n  + [Tickers](./skill)\n  + [Stateful Goroutines](./skill)\n  + [Sorting](./skill)\n  + [Sorting by Functions](./skill)\n  + [Panic](./skill)\n  + [Defer](./skill)\n  + [Collection Functions](./skill)\n  + [String Functions](./skill)\n  + [String Formatting](./skill)\n  + [Regular Expressions](./skill)\n  + [JSON](./skill)\n  + [XML](./skill)\n  + [Time](./skill)\n  + [Epoch](./skill)\n  + [Time Formatting / Parsing](./skill)\n  + [Random Numbers](./skill)\n  + [Number Parsing](./skill)\n+ sync 同步相关\n  + [Worker Pools](./snycs)\n  + [WaitGroups](./snycs)\n  + [Rate Limiting](./snycs)\n  + [Atomic Counters](./snycs)\n  + [Mutexes](./skill)\n+ iostream 流相关，如文件流\n  + [URL Parsing](./iostream)\n  + [SHA1 Hashes](./iostream)\n  + [Base64 Encoding](./iostream)\n  + [Reading Files](./iostream)\n  + [Writing Files](./iostream)\n  + [Line Filters](./iostream)\n  + [File Paths](./iostream)\n  + [Directories](./iostream)\n  + [Temporary Files and Directories](./iostream)\n  + [Testing](./basic)\n+ Command Lines\n  + [Command-Line Arguments](./process)\n  + [Command-Line Flags](./process)\n  + [Command-Line Subcommands](./process)\n+ process 进程相关\n  + [Environment Variables](./process)\n  + [Context](./process)\n  + [Spawning Processes](./process)\n  + [Executing Processes](./process)\n  + [Signals](./process)\n  + [Exit](./process)\n+ Network 网络相关\n  + [HTTP Clients](./network)\n  + [HTTP Servers](./network)\n+ attentions(一些坑)\n  + [for range](./loops)\n  + [for select break](./loops)\n  + [deep copy](./more)\n  + [slice append](./more)\n+ misc 有用的杂项 \n  + [Go文章](./misc/README.md)\n  \n## More 更多\n\nlearn go patterns by real example ?\n\n想通过例子，学习一下go的常用的模式？看这里：\n\n[Go模式(go-awesome-patterns)](https://github.com/crazybber/go-awesome-patterns)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazybber%2Fgo-fucking-exercise","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrazybber%2Fgo-fucking-exercise","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrazybber%2Fgo-fucking-exercise/lists"}