> For the complete documentation index, see [llms.txt](https://ineelhere.gitbook.io/code-with-go/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://ineelhere.gitbook.io/code-with-go/readme.md).

# Code With Go! 🚀

![](https://miro.medium.com/v2/resize:fit:384/0*A6EB_Ykks5bPp_rM.gif)

Inspired from [Go by Example](https://gobyexample.com/) by Mark McGranaghan and Eli Bendersky ([Creative Commons Attribution 3.0 Unported License](https://creativecommons.org/licenses/by/3.0/)), this is an attempt to document the Go learning journey with additional details and features. Of course, thanks to [ChatGPT](https://chat.openai.com/) for most of the explanations 🦾

### Collaborations and Contributions 🤝

This is an open-source effort meant to be freely accessible by the community.

For contributing with code, here's a quick guideline 😉

* Go to <https://github.com/ineelhere/code-with-go>
* You need to either [clone](https://docs.github.com/en/repositories/creating-and-managing-repositories/cloning-a-repository) the repository or [fork](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/working-with-forks/fork-a-repo) it
* [Create a branch of your own](https://docs.github.com/en/pull-requests/collaborating-with-pull-requests/proposing-changes-to-your-work-with-pull-requests/creating-and-deleting-branches-within-your-repository), preferably from the `dev` branch
* [Commit](https://github.com/git-guides/git-commit) your changes
* [Raise a PR](https://docs.github.com/en/desktop/working-with-your-remote-repository-on-github-or-github-enterprise/creating-an-issue-or-pull-request-from-github-desktop) to the `dev` branch
* Now you [chill](https://youtu.be/KOnFBHqztbM) while I review the code🥤

![](https://media.giphy.com/media/0Av9l0VIc01y1isrDw/giphy.gif)

### Table of contents

* [Code With Go! 🚀](/code-with-go/readme.md)
* [Hello World](/code-with-go/01-hello-world.md)
* [Values](/code-with-go/2-values.md)
* [Variables](/code-with-go/3-variables.md)
* [Constants](/code-with-go/4-constants.md)
* [For Loop](/code-with-go/5-for.md)
* [If Else](/code-with-go/6-iflese.md)
* [Switch](/code-with-go/7-switch.md)
* [Array](/code-with-go/8-array.md)
* [Slice](/code-with-go/9-slice.md)
* [Map](/code-with-go/10-map.md)
* [Range](/code-with-go/11-range.md)
* [Functions](/code-with-go/12-functions.md)
* [Multiple Return Values](/code-with-go/13-multiple-return-values.md)
* [Variadic Functions](/code-with-go/14-variadic-functions.md)
* [Closure](/code-with-go/15-closure.md)
* [Recursion](/code-with-go/16-recursion.md)
* [Pointers](/code-with-go/17-pointers.md)
* [Strings and Runes](/code-with-go/18-strings-and-runes.md)
* [Structs](/code-with-go/19-structs.md)
* [Methods](/code-with-go/20-methods.md)
* [Interfaces](/code-with-go/21-interfaces.md)
* [Struct Embedding](/code-with-go/22-struct-embedding.md)
* [Generics](/code-with-go/23-generics.md)
* [Error](/code-with-go/24-error.md)
* [Goroutines](/code-with-go/25-goroutines.md)
* [Channels](/code-with-go/26-channels.md)
* [Channel Buffering](/code-with-go/27-channelbuffering.md)
* [Channel Synchronization](/code-with-go/28-channel-synchronization.md)
* [Channel Directions](/code-with-go/29-channel-directions.md)
* [Select](/code-with-go/30-select.md)
* [Timeouts](/code-with-go/31-timeouts.md)
* [Non-Blocking Channel Operations](/code-with-go/32-non-blocking-channel-operations.md)
* [Closing Channels](/code-with-go/33-closing-channels.md)
* [Range over Channels](/code-with-go/34-range-over-channels.md)
* [Timers](/code-with-go/35-timers.md)
* [Tickers](/code-with-go/36-tickers.md)
* [Worker Pools](/code-with-go/37-worker-pools.md)
* [Wait Groups](/code-with-go/38-wait-groups.md)
* [Rate Limiting](/code-with-go/39-rate-limiting.md)
* [Atomic Counters](/code-with-go/40-atomic-conters.md)
* [Mutexes](/code-with-go/41-mutexes.md)
* [Stateful Goroutines](/code-with-go/42-stateful-goroutines.md)
* [Sorting](/code-with-go/43-sorting.md)
* [Sorting by Functions](/code-with-go/44-sorting-by-functions.md)
* [Panic](/code-with-go/45-panic.md)
* [Defer](/code-with-go/46-defer.md)
* [Recover](/code-with-go/47-recover.md)
* [String Functions](/code-with-go/48-string-functions.md)
* [String Formatting](/code-with-go/49-string-formatting.md)
* [Text Templates](/code-with-go/50-text-templates.md)
* [Regular Expressions](/code-with-go/51-regular-expressions.md)
* [JSON](/code-with-go/52-json.md)
* [XML](/code-with-go/53-xml.md)
* [Time](/code-with-go/54-time.md)
* [Epoch](/code-with-go/55-epoch.md)
* [Time Formatting / Parsing](/code-with-go/56-time-formatting-parsing.md)
* [Random Numbers](/code-with-go/57-random-numbers.md)
* [Number Parsing](/code-with-go/58-number-parsing.md)
* [SHA256 Hashes](/code-with-go/59-sha256-hashes.md)
* [Base64 Encoding](/code-with-go/60-base64-encoding.md)
* [Reading Files](/code-with-go/61-reading-files.md)
* [Writing Files](/code-with-go/62-writing-files.md)
* [Line Filters](/code-with-go/63-line-filters.md)
* [File Paths](/code-with-go/64-file-paths.md)
* [Directories](/code-with-go/65-directories.md)
* [Temporary Files and Directories](/code-with-go/66-temporary-files-and-directories.md)
* [Embed Directive](/code-with-go/67-embed-directive.md)
* [Testing and Benchmarking](/code-with-go/68-testing-and-benchmarking.md)
* [Command-Line Arguments](/code-with-go/69-command-line-interface.md)
* [Command-Line Flags](/code-with-go/70-command-line-flags.md)
* [Command-Line Subcommands](/code-with-go/71-command-line-subcommands.md)
* [Environment Variables](/code-with-go/72-environment-variables.md)
* [Logging](/code-with-go/73-logging.md)
* [HTTP Client](/code-with-go/74-http-client.md)
* [HTTP Server](/code-with-go/75-http-server.md)
* [Context](/code-with-go/76-context.md)
* [Spawning Processes](/code-with-go/77-spawning-process.md)
* [Exec'ing Processes](/code-with-go/78-exec-ing-processes.md)
* [Signals](/code-with-go/79-signals.md)
* [Image resize](https://github.com/ineelhere/letsGo/blob/main/documentation/80-image-resize.md)
* [Exit](https://github.com/ineelhere/letsGo/blob/main/documentation/81-exit.md)

***

**© `Indraneel Chakraborty` | 2024** 🧑‍💻

[Email](mailto:hello.indraneel@gmail.com) | [LinkedIn](https://www.linkedin.com/in/indraneelchakraborty/) | [GitHub](https://github.com/ineelhere)
