smileisak / go-training

Go Training Repositories regroups some useful resources to learn Go Programming Language

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

GoLang Training Go Report Card

Welcome to my training path to master GoLang in one month. In this repository, I will provide examples and exercises for all the basics of GoLang programming language. Whether you are a beginner or an experienced developer, this training path will help you to improve your skills and learn GoLang in a short amount of time.

Resources can be found here.

Prerequisites

Before starting this training path, you should have basic knowledge of programming concepts and syntax. You should also have GoLang installed on your system. If you don't have GoLang installed, please follow the official installation guide for your operating system: https://golang.org/doc/install.

Step 1: Go By Examples

Trying out Go by Example by @mmcgrana, i've created one go file for each topic.

  1. Variables
  2. Constants
  3. For
  4. If/Else
  5. Switch
  6. Arrays
  7. Slices
  8. Maps
  9. Range
  10. Functions
  11. Multiple Return Values
  12. Variadic Functions
  13. Closures
  14. Recursion
  15. Pointers
  16. Structs
  17. Methods
  18. Interfaces
  19. Errors
  20. Goroutines
  21. Channels
  22. Channel Buffering
  23. Channel Synchronization
  24. Channel Directions
  25. Select
  26. Non-Blocking Channel Operations
  27. Closing Channels
  28. Range over Channels
  29. Timers
  30. Tickers
  31. Worker Pools
  32. Rate Limiting
  33. Atomic Counters
  34. Mutexes
  35. Stateful Goroutines
  36. Sorting
  37. Sorting by Functions
  38. Panic
  39. Defer
  40. Collection Functions
  41. String Functions
  42. String Formatting
  43. Regular Expressions
  44. JSON
  45. Time
  46. Epoch
  47. Time Formatting / Parsing
  48. Random Numbers
  49. Number Parsing
  50. URL Parsing
  51. SHA1 Hashes
  52. Base64 Encoding
  53. Reading Files
  54. Writing Files
  55. Line Filters
  56. Command-Line Arguments
  57. Command-Line Flags
  58. Environment Variables
  59. Spawning Processes
  60. Exec'ing Processes
  61. Signals
  62. Exit

Step 2: Learn Go with Tests

Reference: https://quii.gitbook.io/learn-go-with-tests/

  1. Hello Example
    1. Hello World
    2. Hello World Test

Discovering Go packages:

This section is for discovering Go official or unofficial packages. It is like a sandbox for more advanced examples and tools that can be useful when doing awsome things.

  1. ssh

    This example uses golang.org/x/crypto/ssh to run an arbitary commands in a remote server. May be useful when creating programs that needs to make sshing stuff in a remote server.

  2. ssh-tunneling

    This example will establish an ssh tunnel listening from localhost passing through a bastion to a remote server.

  3. Kubernetes go client

    1. Out cluster Example: Discovering k8s go client to list pods and nodes from outside the cluster.

About

Go Training Repositories regroups some useful resources to learn Go Programming Language

License:Apache License 2.0


Languages

Language:Go 100.0%