Difference between revisions of "Golang Course"
From OSSCOM
Line 9: | Line 9: | ||
* Exercise: multiplication table | * Exercise: multiplication table | ||
− | == 02 files == | + | == [https://github.com/domano/go-intro-course/blob/master/02_files.md 02 files] == |
− | + | ||
* The os package | * The os package | ||
* Write into a file | * Write into a file | ||
Line 18: | Line 17: | ||
* Exercise: tac command | * Exercise: tac command | ||
− | == 03 structs and pointers == | + | == [https://github.com/domano/go-intro-course/blob/master/03_structs_and_pointers.md 03 structs and pointers] == |
− | + | ||
* Structs | * Structs | ||
* Pointers | * Pointers | ||
Line 26: | Line 24: | ||
* Exercise: Key-Value store | * Exercise: Key-Value store | ||
− | == 04 Projectstrcture == | + | == [https://github.com/domano/go-intro-course/blob/master/04_projectstructure.md 04 Projectstrcture] == |
− | + | ||
* Gopath | * Gopath | ||
* Go Toolchain | * Go Toolchain | ||
* Packages | * Packages | ||
− | == 05 testing == | + | == [https://github.com/domano/go-intro-course/blob/master/05_testing.md 05 testing] == |
− | + | ||
* Tests | * Tests | ||
* stretchr/testify | * stretchr/testify | ||
Line 43: | Line 39: | ||
* Exercise: Benchmarking the Key-Value store | * Exercise: Benchmarking the Key-Value store | ||
− | == 06 objects and interfaces == | + | == [https://github.com/domano/go-intro-course/blob/master/06_objects_and_interfaces.md 06 objects and interfaces] == |
− | + | ||
* Methods | * Methods | ||
* Objects | * Objects | ||
Line 54: | Line 49: | ||
* Exercise: Testing with mocks | * Exercise: Testing with mocks | ||
− | == 07 http == | + | == [https://github.com/domano/go-intro-course/blob/master/07_http.md 07 http] == |
− | + | ||
* Http Basics | * Http Basics | ||
* Handy features of the http package | * Handy features of the http package | ||
* http.Client | * http.Client | ||
− | == 08 http extended == | + | == [https://github.com/domano/go-intro-course/blob/master/08_http_extended.md 08 http extended] == |
− | + | ||
* TLS & HTTP2 mit Go | * TLS & HTTP2 mit Go | ||
* Middleware | * Middleware |
Latest revision as of 17:11, 21 August 2017
Contents
01 basics
- Hello World
- data types & variables
- strings
- Call by Value & by Reference
- Text output
- Functions
- Control structures
- Exercise: multiplication table
02 files
- The os package
- Write into a file
- Exec Example
- Exercise: wc command
- Exercise: cat command
- Exercise: tac command
03 structs and pointers
- Structs
- Pointers
- Pointer and Structs
- Pointer and Slices/Maps
- Exercise: Key-Value store
04 Projectstrcture
- Gopath
- Go Toolchain
- Packages
05 testing
- Tests
- stretchr/testify
- Testing multiple packages
- Coverage
- Data Driven Tests
- Benchmarks
- Exercise: Calculator with tests
- Exercise: Benchmarking the Key-Value store
06 objects and interfaces
- Methods
- Objects
- Embedding
- Overriding
- Interfaces
- Mocking
- Exercise: object oriented Key-Value
- Exercise: Testing with mocks
07 http
- Http Basics
- Handy features of the http package
- http.Client
08 http extended
- TLS & HTTP2 mit Go
- Middleware
- http testing
- Web Frameworks & alternative Router
Videos
- Simplicity is Complicated, Rob Pike
- Concurrency Is Not Parallelism, Rob Pike
- Go Concurrency Patterns, Rob Pike
- Advanced Go Concurrency Patterns, Sameer Ajmani
- Dont Just Check Errors Handle Them Gracefully, Dave Cheney