gitextract_l93mdm2d/ ├── .gitattributes ├── .github/ │ └── workflows/ │ └── test.yml ├── .gitignore ├── CONTRIBUTING.md ├── README.md ├── examples/ │ ├── arrays/ │ │ ├── arrays.go │ │ ├── arrays.hash │ │ └── arrays.sh │ ├── atomic-counters/ │ │ ├── atomic-counters.go │ │ ├── atomic-counters.hash │ │ └── atomic-counters.sh │ ├── base64-encoding/ │ │ ├── base64-encoding.go │ │ ├── base64-encoding.hash │ │ └── base64-encoding.sh │ ├── channel-buffering/ │ │ ├── channel-buffering.go │ │ ├── channel-buffering.hash │ │ └── channel-buffering.sh │ ├── channel-directions/ │ │ ├── channel-directions.go │ │ ├── channel-directions.hash │ │ └── channel-directions.sh │ ├── channel-synchronization/ │ │ ├── channel-synchronization.go │ │ ├── channel-synchronization.hash │ │ └── channel-synchronization.sh │ ├── channels/ │ │ ├── channels.go │ │ ├── channels.hash │ │ └── channels.sh │ ├── closing-channels/ │ │ ├── closing-channels.go │ │ ├── closing-channels.hash │ │ └── closing-channels.sh │ ├── closures/ │ │ ├── closures.go │ │ ├── closures.hash │ │ └── closures.sh │ ├── command-line-arguments/ │ │ ├── command-line-arguments.go │ │ ├── command-line-arguments.hash │ │ └── command-line-arguments.sh │ ├── command-line-flags/ │ │ ├── command-line-flags.go │ │ ├── command-line-flags.hash │ │ └── command-line-flags.sh │ ├── command-line-subcommands/ │ │ ├── command-line-subcommands.go │ │ ├── command-line-subcommands.hash │ │ └── command-line-subcommands.sh │ ├── constants/ │ │ ├── constants.go │ │ ├── constants.hash │ │ └── constants.sh │ ├── context/ │ │ ├── context.go │ │ ├── context.hash │ │ └── context.sh │ ├── custom-errors/ │ │ ├── custom-errors.go │ │ ├── custom-errors.hash │ │ └── custom-errors.sh │ ├── defer/ │ │ ├── defer.go │ │ ├── defer.hash │ │ └── defer.sh │ ├── directories/ │ │ ├── directories.go │ │ ├── directories.hash │ │ └── directories.sh │ ├── embed-directive/ │ │ ├── embed-directive.go │ │ ├── embed-directive.hash │ │ ├── embed-directive.sh │ │ └── folder/ │ │ ├── file1.hash │ │ ├── file2.hash │ │ └── single_file.txt │ ├── enums/ │ │ ├── enums.go │ │ ├── enums.hash │ │ └── enums.sh │ ├── environment-variables/ │ │ ├── environment-variables.go │ │ ├── environment-variables.hash │ │ └── environment-variables.sh │ ├── epoch/ │ │ ├── epoch.go │ │ ├── epoch.hash │ │ └── epoch.sh │ ├── errors/ │ │ ├── errors.go │ │ ├── errors.hash │ │ └── errors.sh │ ├── execing-processes/ │ │ ├── execing-processes.go │ │ ├── execing-processes.hash │ │ └── execing-processes.sh │ ├── exit/ │ │ ├── exit.go │ │ ├── exit.hash │ │ └── exit.sh │ ├── file-paths/ │ │ ├── file-paths.go │ │ ├── file-paths.hash │ │ └── file-paths.sh │ ├── for/ │ │ ├── for.go │ │ ├── for.hash │ │ └── for.sh │ ├── functions/ │ │ ├── functions.go │ │ ├── functions.hash │ │ └── functions.sh │ ├── generics/ │ │ ├── generics.go │ │ ├── generics.hash │ │ └── generics.sh │ ├── goroutines/ │ │ ├── goroutines.go │ │ ├── goroutines.hash │ │ └── goroutines.sh │ ├── hello-world/ │ │ ├── hello-world.go │ │ ├── hello-world.hash │ │ └── hello-world.sh │ ├── http-client/ │ │ ├── http-client.go │ │ ├── http-client.hash │ │ └── http-client.sh │ ├── http-server/ │ │ ├── http-server.go │ │ ├── http-server.hash │ │ └── http-server.sh │ ├── if-else/ │ │ ├── if-else.go │ │ ├── if-else.hash │ │ └── if-else.sh │ ├── interfaces/ │ │ ├── interfaces.go │ │ ├── interfaces.hash │ │ └── interfaces.sh │ ├── json/ │ │ ├── json.go │ │ ├── json.hash │ │ └── json.sh │ ├── line-filters/ │ │ ├── line-filters.go │ │ ├── line-filters.hash │ │ └── line-filters.sh │ ├── logging/ │ │ ├── logging.go │ │ ├── logging.hash │ │ └── logging.sh │ ├── maps/ │ │ ├── maps.go │ │ ├── maps.hash │ │ └── maps.sh │ ├── methods/ │ │ ├── methods.go │ │ ├── methods.hash │ │ └── methods.sh │ ├── multiple-return-values/ │ │ ├── multiple-return-values.go │ │ ├── multiple-return-values.hash │ │ └── multiple-return-values.sh │ ├── mutexes/ │ │ ├── mutexes.go │ │ ├── mutexes.hash │ │ └── mutexes.sh │ ├── non-blocking-channel-operations/ │ │ ├── non-blocking-channel-operations.go │ │ ├── non-blocking-channel-operations.hash │ │ └── non-blocking-channel-operations.sh │ ├── number-parsing/ │ │ ├── number-parsing.go │ │ ├── number-parsing.hash │ │ └── number-parsing.sh │ ├── panic/ │ │ ├── panic.go │ │ ├── panic.hash │ │ └── panic.sh │ ├── pointers/ │ │ ├── pointers.go │ │ ├── pointers.hash │ │ └── pointers.sh │ ├── random-numbers/ │ │ ├── random-numbers.go │ │ ├── random-numbers.hash │ │ └── random-numbers.sh │ ├── range-over-built-in-types/ │ │ ├── range-over-built-in-types.go │ │ ├── range-over-built-in-types.hash │ │ └── range-over-built-in-types.sh │ ├── range-over-channels/ │ │ ├── range-over-channels.go │ │ ├── range-over-channels.hash │ │ └── range-over-channels.sh │ ├── range-over-iterators/ │ │ ├── range-over-iterators.go │ │ ├── range-over-iterators.hash │ │ └── range-over-iterators.sh │ ├── rate-limiting/ │ │ ├── rate-limiting.go │ │ ├── rate-limiting.hash │ │ └── rate-limiting.sh │ ├── reading-files/ │ │ ├── reading-files.go │ │ ├── reading-files.hash │ │ └── reading-files.sh │ ├── recover/ │ │ ├── recover.go │ │ ├── recover.hash │ │ └── recover.sh │ ├── recursion/ │ │ ├── recursion.go │ │ ├── recursion.hash │ │ └── recursion.sh │ ├── regular-expressions/ │ │ ├── regular-expressions.go │ │ ├── regular-expressions.hash │ │ └── regular-expressions.sh │ ├── select/ │ │ ├── select.go │ │ ├── select.hash │ │ └── select.sh │ ├── sha256-hashes/ │ │ ├── sha256-hashes.go │ │ ├── sha256-hashes.hash │ │ └── sha256-hashes.sh │ ├── signals/ │ │ ├── signals.go │ │ ├── signals.hash │ │ └── signals.sh │ ├── slices/ │ │ ├── slices.go │ │ ├── slices.hash │ │ └── slices.sh │ ├── sorting/ │ │ ├── sorting.go │ │ ├── sorting.hash │ │ └── sorting.sh │ ├── sorting-by-functions/ │ │ ├── sorting-by-functions.go │ │ ├── sorting-by-functions.hash │ │ └── sorting-by-functions.sh │ ├── spawning-processes/ │ │ ├── spawning-processes.go │ │ ├── spawning-processes.hash │ │ └── spawning-processes.sh │ ├── stateful-goroutines/ │ │ ├── stateful-goroutines.go │ │ ├── stateful-goroutines.hash │ │ └── stateful-goroutines.sh │ ├── string-formatting/ │ │ ├── string-formatting.go │ │ ├── string-formatting.hash │ │ └── string-formatting.sh │ ├── string-functions/ │ │ ├── string-functions.go │ │ ├── string-functions.hash │ │ └── string-functions.sh │ ├── strings-and-runes/ │ │ ├── strings-and-runes.go │ │ ├── strings-and-runes.hash │ │ └── strings-and-runes.sh │ ├── struct-embedding/ │ │ ├── struct-embedding.go │ │ ├── struct-embedding.hash │ │ └── struct-embedding.sh │ ├── structs/ │ │ ├── structs.go │ │ ├── structs.hash │ │ └── structs.sh │ ├── switch/ │ │ ├── switch.go │ │ ├── switch.hash │ │ └── switch.sh │ ├── tcp-server/ │ │ ├── tcp-server.go │ │ ├── tcp-server.hash │ │ └── tcp-server.sh │ ├── temporary-files-and-directories/ │ │ ├── temporary-files-and-directories.go │ │ ├── temporary-files-and-directories.hash │ │ └── temporary-files-and-directories.sh │ ├── testing-and-benchmarking/ │ │ ├── main_test.go │ │ ├── main_test.sh │ │ └── testing-and-benchmarking.hash │ ├── text-templates/ │ │ ├── text-templates.go │ │ ├── text-templates.hash │ │ └── text-templates.sh │ ├── tickers/ │ │ ├── tickers.go │ │ ├── tickers.hash │ │ └── tickers.sh │ ├── time/ │ │ ├── time.go │ │ ├── time.hash │ │ └── time.sh │ ├── time-formatting-parsing/ │ │ ├── time-formatting-parsing.go │ │ ├── time-formatting-parsing.hash │ │ └── time-formatting-parsing.sh │ ├── timeouts/ │ │ ├── timeouts.go │ │ ├── timeouts.hash │ │ └── timeouts.sh │ ├── timers/ │ │ ├── timers.go │ │ ├── timers.hash │ │ └── timers.sh │ ├── url-parsing/ │ │ ├── url-parsing.go │ │ ├── url-parsing.hash │ │ └── url-parsing.sh │ ├── values/ │ │ ├── values.go │ │ ├── values.hash │ │ └── values.sh │ ├── variables/ │ │ ├── variables.go │ │ ├── variables.hash │ │ └── variables.sh │ ├── variadic-functions/ │ │ ├── variadic-functions.go │ │ ├── variadic-functions.hash │ │ └── variadic-functions.sh │ ├── waitgroups/ │ │ ├── waitgroups.go │ │ ├── waitgroups.hash │ │ └── waitgroups.sh │ ├── worker-pools/ │ │ ├── worker-pools.go │ │ ├── worker-pools.hash │ │ └── worker-pools.sh │ ├── writing-files/ │ │ ├── writing-files.go │ │ ├── writing-files.hash │ │ └── writing-files.sh │ └── xml/ │ ├── xml.go │ ├── xml.hash │ └── xml.sh ├── examples.txt ├── go.mod ├── go.sum ├── public/ │ ├── 404.html │ ├── arrays │ ├── atomic-counters │ ├── base64-encoding │ ├── channel-buffering │ ├── channel-directions │ ├── channel-synchronization │ ├── channels │ ├── closing-channels │ ├── closures │ ├── command-line-arguments │ ├── command-line-flags │ ├── command-line-subcommands │ ├── constants │ ├── context │ ├── custom-errors │ ├── defer │ ├── directories │ ├── embed-directive │ ├── enums │ ├── environment-variables │ ├── epoch │ ├── errors │ ├── execing-processes │ ├── exit │ ├── file-paths │ ├── for │ ├── functions │ ├── generics │ ├── goroutines │ ├── hello-world │ ├── http-client │ ├── http-server │ ├── if-else │ ├── index.html │ ├── interfaces │ ├── json │ ├── line-filters │ ├── logging │ ├── maps │ ├── methods │ ├── multiple-return-values │ ├── mutexes │ ├── non-blocking-channel-operations │ ├── number-parsing │ ├── panic │ ├── pointers │ ├── random-numbers │ ├── range-over-built-in-types │ ├── range-over-channels │ ├── range-over-iterators │ ├── rate-limiting │ ├── reading-files │ ├── recover │ ├── recursion │ ├── regular-expressions │ ├── select │ ├── sha256-hashes │ ├── signals │ ├── site.css │ ├── site.js │ ├── slices │ ├── sorting │ ├── sorting-by-functions │ ├── spawning-processes │ ├── stateful-goroutines │ ├── string-formatting │ ├── string-functions │ ├── strings-and-runes │ ├── struct-embedding │ ├── structs │ ├── switch │ ├── tcp-server │ ├── temporary-files-and-directories │ ├── testing-and-benchmarking │ ├── text-templates │ ├── tickers │ ├── time │ ├── time-formatting-parsing │ ├── timeouts │ ├── timers │ ├── url-parsing │ ├── values │ ├── variables │ ├── variadic-functions │ ├── waitgroups │ ├── worker-pools │ ├── writing-files │ └── xml ├── templates/ │ ├── 404.tmpl │ ├── example.tmpl │ ├── footer.tmpl │ ├── index.tmpl │ ├── site.css │ └── site.js └── tools/ ├── build ├── build-loop ├── format ├── generate ├── generate.go ├── measure ├── measure.go ├── serve ├── serve.go ├── test ├── upload └── upload.go