If you are creating a Go application that will not have subpackages, you can develop the code anywhere on your filesystem. However, since this application (and most other apps you will develop) will use subpackages, your code must live in your GOPATH folder.
- hello world
- variables
- constants
- functions
- pointers
- struct
- null check
- methods
- pointer receiver
- value receiver
- init method
- packages
- multiple-return
- nested-import
- types
- type-defaults
- type-conversion
- float
- math
- if-else
- switch
- loops
- data structures
- array
- slice
- map
- range
- list
- parsing
- number
- xml (web-server_v4.go, xml-parsing_v1.go, xml-parsing_v2.go, xml-parsing_v3.go)
- html (web-server_v3.go)
- json
- url
- web
- server
- client
- sleep
- shift
- defer
- panic
- file
- reading
- writing
- environment variable
- get
- set
- logs
- normal
- level + format
- to file
- command line
- arguments
- flags
- lambda
- closures
- variadic functions
- interface
- error
- time
- formatting
- parsing
- epoch
- alias
- strings
- formatting
- functions
- concatenation
- regular expressions
- sha1 hashes
- base64 encoding
- sorting
- sorting by functions
- recursion
- exit
- casting
- reflection
- iota
- (unix) signals
- timer & ticker
- dynamic-type
- type-assertion
- enum
- goroutines
- pooling
- rate limiting
- atomic counters
- mutex
- stateful
- channels
- directions
- buffering
- synchronization
- select
- timeouts
- non-blocking operations
- closing
- range over
- spawning processes
- exec'ing processes
- modules (try
go help modules
)
- wait-groups
- context
- db
- protocols
- docker
- dockerfile > see this repo
- logging
- library
- go-logging > see this folder
- logger
- logrus
- klog
- on-file
- library
- kubernetes
- prometheus metrics
- jaeger tracing
- communication
- testing
- principles
- moking
- tools
- Govendor
- Go kit
- Go Echo
- https://www.sohamkamani.com/blog/2017/08/24/golang-channels-explained/
- https://codeburst.io/diving-deep-into-the-golang-channels-549fd4ed21a8
- https://stackoverflow.com/questions/40326540/how-to-assign-default-value-if-env-var-is-empty
- https://codereview.stackexchange.com/questions/108563/reading-environment-variables-of-various-types
- https://gobyexample.com/
- https://pythonprogramming.net/go/introduction-go-language-programming-tutorial/ -
IN PROGRESS
[next: Goroutines - Concurrency in Goprogramming / https://pythonprogramming.net/go/goroutines-go-language-programming-tutorial/] - https://tour.golang.org/ -
IN PROGRESS
[next: https://tour.golang.org/methods/2] - https://icyapril.com/go/programming/2017/12/17/object-orientation-in-go.html
- https://www.golang-book.com/books/intro
- https://dlintw.github.io/gobyexample/public/index.html#by-sequence