GoLang tutorials
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.
Topics
Basic
- 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
- print
- 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
- sleep
- shift
- defer
- panic
- file
- environment variable
- logs
- normal
- level + format
- to file
- command line
- lambda
- closures
- variadic functions
- interface
- error
- time
- epoch
- alias
- strings
- formatting
- functions
- concatenation
- regular expressions
- sha1 hashes
- base64 encoding
- sorting
- sorting by functions
- recursion
- exit
- casting
- reflection
- iota
Advanced
- (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
)
Open topics
Advanced
Specific tecnologies
- db
- protocols
- docker
- logging
- kubernetes
- communication
- testing
Tools
Links
Articles
Goroutines
Channels
Environment variables
Tutorials
Testing
Sync
Interface
Compisition
Reflection
Govendor