# Golang

- [Foundational](/viceintelpro/golang/foundational.md)
- [1. Basic Definitions](/viceintelpro/golang/foundational/1.-basic-definitions.md)
- [Declaration Syntax](/viceintelpro/golang/foundational/declaration-syntax.md)
- [The Compilation Process](/viceintelpro/golang/foundational/the-compilation-process.md)
- [Constants](/viceintelpro/golang/foundational/constants.md)
- [2. Go's Types of Types](/viceintelpro/golang/foundational/2.-gos-types-of-types.md)
- [Type Sizes](/viceintelpro/golang/foundational/type-sizes.md)
- [Memory Layout](/viceintelpro/golang/foundational/memory-layout.md)
- [Small Memory Footprint](/viceintelpro/golang/foundational/small-memory-footprint.md)
- [Block Scope](/viceintelpro/golang/foundational/block-scope.md)
- [Same Line Declarations](/viceintelpro/golang/foundational/same-line-declarations.md)
- [Control Flow](/viceintelpro/golang/control-flow.md)
- [Conditionals](/viceintelpro/golang/control-flow/conditionals.md)
- [The Initial Statement of an If Block](/viceintelpro/golang/control-flow/the-initial-statement-of-an-if-block.md)
- [Switch](/viceintelpro/golang/control-flow/switch.md)
- [Loop in Go](/viceintelpro/golang/control-flow/loop-in-go.md)
- [Loops in Go](/viceintelpro/golang/control-flow/loop-in-go/loops-in-go.md)
- [Continue & Break](/viceintelpro/golang/control-flow/loop-in-go/continue-and-break.md)
- [Connection](/viceintelpro/golang/control-flow/loop-in-go/connection.md)
- [Modulo](/viceintelpro/golang/control-flow/loop-in-go/modulo.md)
- [Omitting Conditions from a for Loop in Go](/viceintelpro/golang/control-flow/omitting-conditions-from-a-for-loop-in-go.md)
- [There is No While Loop in GO](/viceintelpro/golang/control-flow/there-is-no-while-loop-in-go.md)
- [Functions & Returns](/viceintelpro/golang/functions-and-returns.md)
- [Functions](/viceintelpro/golang/functions-and-returns/functions.md)
- [Explicit Returns](/viceintelpro/golang/functions-and-returns/explicit-returns.md)
- [Named Return Values](/viceintelpro/golang/functions-and-returns/named-return-values.md)
- [Early Returns](/viceintelpro/golang/functions-and-returns/early-returns.md)
- [The Benefits of Named Returns](/viceintelpro/golang/functions-and-returns/the-benefits-of-named-returns.md)
- [Ignoring Return Values](/viceintelpro/golang/functions-and-returns/ignoring-return-values.md)
- [Anonymous Functions](/viceintelpro/golang/functions-and-returns/anonymous-functions.md)
- [Currying](/viceintelpro/golang/functions-and-returns/currying.md)
- [Closures](/viceintelpro/golang/functions-and-returns/closures.md)
- [Defer](/viceintelpro/golang/functions-and-returns/defer.md)
- [Functions As Values](/viceintelpro/golang/functions-and-returns/functions-as-values.md)
- [Errors](/viceintelpro/golang/functions-and-returns/errors.md)
- [The Errors Package](/viceintelpro/golang/functions-and-returns/errors/the-errors-package.md)
- [The Error Interface](/viceintelpro/golang/functions-and-returns/errors/the-error-interface.md)
- [The Error Interface Pt.2](/viceintelpro/golang/functions-and-returns/errors/the-error-interface-pt.2.md)
- [Panic](/viceintelpro/golang/functions-and-returns/errors/panic.md)
- [Formatting Strings Review](/viceintelpro/golang/functions-and-returns/errors/formatting-strings-review.md)
- [User Input](/viceintelpro/golang/functions-and-returns/errors/user-input.md)
- [Strings & Text Handling](/viceintelpro/golang/strings-and-text-handling.md)
- [Strings](/viceintelpro/golang/strings-and-text-handling/strings.md)
- [1. Cheat Sheet for Strings](/viceintelpro/golang/strings-and-text-handling/strings/1.-cheat-sheet-for-strings.md)
- [Formatting Strings in Go](/viceintelpro/golang/strings-and-text-handling/formatting-strings-in-go.md)
- [Runes and String Encoding](/viceintelpro/golang/strings-and-text-handling/runes-and-string-encoding.md)
- [Core Data Structures](/viceintelpro/golang/core-data-structures.md)
- [Slices](/viceintelpro/golang/core-data-structures/slices.md)
- [1. Arrays in Go](/viceintelpro/golang/core-data-structures/slices/1.-arrays-in-go.md)
- [2. Slices in Go](/viceintelpro/golang/core-data-structures/slices/2.-slices-in-go.md)
- [3. Make](/viceintelpro/golang/core-data-structures/slices/3.-make.md)
- [4. Variadic](/viceintelpro/golang/core-data-structures/slices/4.-variadic.md)
- [5. Append](/viceintelpro/golang/core-data-structures/slices/5.-append.md)
- [6. Range](/viceintelpro/golang/core-data-structures/slices/6.-range.md)
- [7. Slice of Slices](/viceintelpro/golang/core-data-structures/slices/7.-slice-of-slices.md)
- [8. Tricky Slices](/viceintelpro/golang/core-data-structures/slices/8.-tricky-slices.md)
- [9. Message Filter](/viceintelpro/golang/core-data-structures/slices/9.-message-filter.md)
- [10. Password Strength](/viceintelpro/golang/core-data-structures/slices/10.-password-strength.md)
- [11. Message Tagger](/viceintelpro/golang/core-data-structures/slices/11.-message-tagger.md)
- [Maps](/viceintelpro/golang/core-data-structures/maps.md)
- [1. Maps](/viceintelpro/golang/core-data-structures/maps/1.-maps.md)
- [2. Mutations](/viceintelpro/golang/core-data-structures/maps/2.-mutations.md)
- [3. Key Types](/viceintelpro/golang/core-data-structures/maps/3.-key-types.md)
- [4. Count Instances](/viceintelpro/golang/core-data-structures/maps/4.-count-instances.md)
- [5. Effective Go](/viceintelpro/golang/core-data-structures/maps/5.-effective-go.md)
- [6. Nested](/viceintelpro/golang/core-data-structures/maps/6.-nested.md)
- [7. Distinct Words](/viceintelpro/golang/core-data-structures/maps/7.-distinct-words.md)
- [Pointers](/viceintelpro/golang/core-data-structures/pointers.md)
- [1. Introduction to Pointers](/viceintelpro/golang/core-data-structures/pointers/1.-introduction-to-pointers.md)
- [2. References](/viceintelpro/golang/core-data-structures/pointers/2.-references.md)
- [3. Pass by Reference](/viceintelpro/golang/core-data-structures/pointers/3.-pass-by-reference.md)
- [4. Nil Pointers](/viceintelpro/golang/core-data-structures/pointers/4.-nil-pointers.md)
- [5. Pointer Receivers](/viceintelpro/golang/core-data-structures/pointers/5.-pointer-receivers.md)
- [6. Pointer Receiver Code](/viceintelpro/golang/core-data-structures/pointers/6.-pointer-receiver-code.md)
- [7. Pointer Performance](/viceintelpro/golang/core-data-structures/pointers/7.-pointer-performance.md)
- [Structs](/viceintelpro/golang/structs.md)
- [Structs](/viceintelpro/golang/structs/structs.md)
- [Nested Structs in Go](/viceintelpro/golang/structs/nested-structs-in-go.md)
- [Anonymous Structs](/viceintelpro/golang/structs/anonymous-structs.md)
- [Embedded Structs](/viceintelpro/golang/structs/embedded-structs.md)
- [Empty Structs](/viceintelpro/golang/structs/empty-structs.md)
- [Struct Methods in Go](/viceintelpro/golang/structs/struct-methods-in-go.md)
- [Abstraction & Advanced](/viceintelpro/golang/abstraction-and-advanced.md)
- [Interfaces](/viceintelpro/golang/abstraction-and-advanced/interfaces.md)
- [Interfaces in Go](/viceintelpro/golang/abstraction-and-advanced/interfaces/interfaces-in-go.md)
- [Interface Implementation](/viceintelpro/golang/abstraction-and-advanced/interfaces/interface-implementation.md)
- [Interfaces Are Implemented Implicitly](/viceintelpro/golang/abstraction-and-advanced/interfaces/interfaces-are-implemented-implicitly.md)
- [Multiple Interfaces](/viceintelpro/golang/abstraction-and-advanced/interfaces/multiple-interfaces.md)
- [Clean Interfaces](/viceintelpro/golang/abstraction-and-advanced/interfaces/clean-interfaces.md)
- [Type Assertions in Go](/viceintelpro/golang/abstraction-and-advanced/interfaces/type-assertions-in-go.md)
- [Type Switches](/viceintelpro/golang/abstraction-and-advanced/interfaces/type-switches.md)
- [Name Your Interface Parameters](/viceintelpro/golang/abstraction-and-advanced/interfaces/name-your-interface-parameters.md)
- [Interfaces Quiz](/viceintelpro/golang/abstraction-and-advanced/interfaces/interfaces-quiz.md)
- [Generics](/viceintelpro/golang/abstraction-and-advanced/generics.md)
- [1. Generics in Go](/viceintelpro/golang/abstraction-and-advanced/generics/1.-generics-in-go.md)
- [2. Why Generics](/viceintelpro/golang/abstraction-and-advanced/generics/2.-why-generics.md)
- [3. Constraints](/viceintelpro/golang/abstraction-and-advanced/generics/3.-constraints.md)
- [4. Interface Type Lists](/viceintelpro/golang/abstraction-and-advanced/generics/4.-interface-type-lists.md)
- [5. Naming Generic Types](/viceintelpro/golang/abstraction-and-advanced/generics/5.-naming-generic-types.md)
- [6. Parametric Constraints](/viceintelpro/golang/abstraction-and-advanced/generics/6.-parametric-constraints.md)
- [Enums](/viceintelpro/golang/abstraction-and-advanced/enums.md)
- [1. Lack of Enums](/viceintelpro/golang/abstraction-and-advanced/enums/1.-lack-of-enums.md)
- [2. Type Definitions](/viceintelpro/golang/abstraction-and-advanced/enums/2.-type-definitions.md)
- [3. Iota](/viceintelpro/golang/abstraction-and-advanced/enums/3.-iota.md)
- [Concurrency](/viceintelpro/golang/concurrency.md)
- [Channels](/viceintelpro/golang/concurrency/channels.md)
- [1. Concurrency](/viceintelpro/golang/concurrency/channels/1.-concurrency.md)
- [2. Channels](/viceintelpro/golang/concurrency/channels/2.-channels.md)
- [3. Channels Pt.2](/viceintelpro/golang/concurrency/channels/3.-channels-pt.2.md)
- [4. Buffered Channels](/viceintelpro/golang/concurrency/channels/4.-buffered-channels.md)
- [5. Closing Channels in Go](/viceintelpro/golang/concurrency/channels/5.-closing-channels-in-go.md)
- [6. Range](/viceintelpro/golang/concurrency/channels/6.-range.md)
- [7. Select](/viceintelpro/golang/concurrency/channels/7.-select.md)
- [8. Select Default Case](/viceintelpro/golang/concurrency/channels/8.-select-default-case.md)
- [9. Channels Review](/viceintelpro/golang/concurrency/channels/9.-channels-review.md)
- [Mutexes](/viceintelpro/golang/concurrency/mutexes.md)
- [1. Mutexes in Go](/viceintelpro/golang/concurrency/mutexes/1.-mutexes-in-go.md)
- [2. Mutex Review](/viceintelpro/golang/concurrency/mutexes/2.-mutex-review.md)
- [3. RW Mutex](/viceintelpro/golang/concurrency/mutexes/3.-rw-mutex.md)
- [4. Read Write Mutex Review](/viceintelpro/golang/concurrency/mutexes/4.-read-write-mutex-review.md)
- [HTTP Clients in Go](/viceintelpro/golang/http-clients-in-go.md)
- [1. Why HTTP](/viceintelpro/golang/http-clients-in-go/1.-why-http.md)
- [1. Communicating on the Web](/viceintelpro/golang/http-clients-in-go/1.-why-http/1.-communicating-on-the-web.md)
- [2. HTTP Requests and Responses](/viceintelpro/golang/http-clients-in-go/1.-why-http/2.-http-requests-and-responses.md)
- [3. HTTP Powers Website](/viceintelpro/golang/http-clients-in-go/1.-why-http/3.-http-powers-website.md)
- [4. HTTP URLs](/viceintelpro/golang/http-clients-in-go/1.-why-http/4.-http-urls.md)
- [5. Requests and Responses](/viceintelpro/golang/http-clients-in-go/1.-why-http/5.-requests-and-responses.md)
- [6. net http](/viceintelpro/golang/http-clients-in-go/1.-why-http/6.-net-http.md)
- [2. JSON](/viceintelpro/golang/http-clients-in-go/2.-json.md)
- [1. JSON Syntax](/viceintelpro/golang/http-clients-in-go/2.-json/1.-json-syntax.md)
- [2. Decoding JSON](/viceintelpro/golang/http-clients-in-go/2.-json/2.-decoding-json.md)
- [3. Unmarshal JSON](/viceintelpro/golang/http-clients-in-go/2.-json/3.-unmarshal-json.md)
- [4. Marshal JSON](/viceintelpro/golang/http-clients-in-go/2.-json/4.-marshal-json.md)
- [5. XML](/viceintelpro/golang/http-clients-in-go/2.-json/5.-xml.md)
- [6. map string interface{}](/viceintelpro/golang/http-clients-in-go/2.-json/6.-map-string-interface.md)
- [3. DNS](/viceintelpro/golang/http-clients-in-go/3.-dns.md)
- [1. Web Addresses](/viceintelpro/golang/http-clients-in-go/3.-dns/1.-web-addresses.md)
- [2. DNS](/viceintelpro/golang/http-clients-in-go/3.-dns/2.-dns.md)
- [4. URIs](/viceintelpro/golang/http-clients-in-go/4.-uris.md)
- [1. Sections of a URL](/viceintelpro/golang/http-clients-in-go/4.-uris/1.-sections-of-a-url.md)
- [2. The Protocol](/viceintelpro/golang/http-clients-in-go/4.-uris/2.-the-protocol.md)
- [Modules & Practical Assignments](/viceintelpro/golang/modules-and-practical-assignments.md)
- [Packages and Modules](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules.md)
- [1. Packages](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/1.-packages.md)
- [2. Package Naming](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/2.-package-naming.md)
- [3. Modules](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/3.-modules.md)
- [4. Go Environment](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/4.-go-environment.md)
- [5. First Local Program](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/5.-first-local-program.md)
- [6. Go Run](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/6.-go-run.md)
- [7. Go Install](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/7.-go-install.md)
- [8. Custom Package](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/8.-custom-package.md)
- [9. Go Packages Continued](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/9.-go-packages-continued.md)
- [10. Remote Packages](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/10.-remote-packages.md)
- [11. Clean Packages](/viceintelpro/golang/modules-and-practical-assignments/packages-and-modules/11.-clean-packages.md)
- [Assignments](/viceintelpro/golang/modules-and-practical-assignments/assignments.md)
- [EASY   getMonthlyPrice Assignment](/viceintelpro/golang/modules-and-practical-assignments/assignments/easy-getmonthlyprice-assignment.md)
- [EASY   Ping Pong](/viceintelpro/golang/modules-and-practical-assignments/assignments/easy-ping-pong.md)
- [EASY   Passing Variables by Value](/viceintelpro/golang/modules-and-practical-assignments/assignments/easy-passing-variables-by-value.md)
- [EASY   User Input](/viceintelpro/golang/modules-and-practical-assignments/assignments/easy-user-input.md)
- [EASY   Process Notifications](/viceintelpro/golang/modules-and-practical-assignments/assignments/easy-process-notifications.md)
- [MED   Message Formatter](/viceintelpro/golang/modules-and-practical-assignments/assignments/med-message-formatter.md)
- [MED   Processing Orders](/viceintelpro/golang/modules-and-practical-assignments/assignments/med-processing-orders.md)
- [MED   Update Balance](/viceintelpro/golang/modules-and-practical-assignments/assignments/med-update-balance.md)
- [MED   Send Message](/viceintelpro/golang/modules-and-practical-assignments/assignments/med-send-message.md)
- [MED   Update Users](/viceintelpro/golang/modules-and-practical-assignments/assignments/med-update-users.md)
- [Calculate Balance](/viceintelpro/golang/modules-and-practical-assignments/calculate-balance.md)
