/go4noobs

My progress studying Golang

Primary LanguageGoMIT LicenseMIT

Go

Go4Noobs
Art by @Lora
  • Disclaimer!!
  • __ 👨‍💻 👩‍💻 In development 🚧 🛠 __
  • This repo must and will suffer some major updates and modifications along with my learning curve
  • Feel totally free to fork and PR this repo
  • Enjoy!

Thank You

Summary

  1. >>Introduction<<
  2. Variables and Types
    1. Hello World
    2. Println()
    3. Gopher
    4. Scope
    5. Types
    6. Custom Type
    7. Type Conversion
    8. Exercises
  3. Programming Foundations I
    1. Boolean
    2. String
    3. Constants
    4. Iota
    5. Part 1 - Exercises
    6. Procedural Programming
    7. Loop For
    8. Conditional
    9. Logical Operator
  4. Data Structures I
    1. Array
    2. Slices
    3. Slice of Slices
    4. Slice Make
    5. Maps
    6. Exercises
    7. Structs
  5. Programming Foundations II
    1. Simple Function
    2. Variadic Functions
    3. Multiple Return
    4. Defer Statement
    5. Methods
    6. Interfaces
    7. Literal Functions
    8. Function as Expression
    9. Return Function
    10. Callbacks
    11. Closure
    12. Recursive
    13. Pointer
  6. Data Structures II
    1. Struct Tags
    2. Channels
  7. Concurrency
    1. Go Routines
    2. Channels
    3. Channel of Channel
    4. Parallelization
    5. Leaky Buffer
  8. Packages
    1. JSON
    2. Go Template
  9. Projects
    1. Go Request Validator
    2. Go Twitch Bot

Installing GO in Ubuntu

  • Download package from the Official Download Page
    • In my case the filename is "go1.15.2.linux-amd64.tar.gz"
  • Open your terminal, and follow these steps
  • $ mkdir ~/go

  • $ sudo mv ~/Downloads/go1.15.2.linux-amd64.tar.gz ~/go

  • $ cd ~/go

  • $ sudo tar -C /usr/local -xzf go1.15.2.linux-amd64.tar.gz

  • Copy these:
    •     export GOPATH=$HOME/go
          export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
  • Profile installation
    • Paste Here
      • $ sudo nano ~/.profile

      • $ /bin/bash -c ‘source ~/.profile'

  • System-wide installation
    • $ sudo nano /etc/profile

    • $ /bin/bash -c ‘source /etc/profile’

  • Re-open your terminal
  • Test with:
    • $ go version