Show pageOld revisionsBacklinksBack to top This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ===== Overview ===== Notes on [[https://golangbot.com/learn-golang-series/|Golangbot Golang tutorial series]]. The primary focus of Golang is to make the development of highly available and scalable web apps simple and easy. ===== Misc ===== * "_" is the "blank identifier" * Concurrency * Compiled * Static linking * [[https://github.com/golang/playground|Go Playground]] * Linux based IDEs? * Debuggers? * Code analyzers? * Install Visual Studio (https://code.visualstudio.com/docs/setup/linux) ===== Introduction ===== ==== Introduction and Installation ==== Advantages of Go: * Simple syntax(?) * Fast compilation * Static linking * Concurrency (goroutines and channels) * Garbage collection * Simple language specification * Tooling * ''/usr/bin/gofmt'' (golang-bin package) * ''/usr/bin/golint'' (golint package) * ''go help vet'' * ''go help tool'' Used as the basis for Docker and Kubernetes. Third-party tooling, IDEs, etc. ==== Hello World ==== ===== Variables, Types and Constants ===== ==== Variables ==== ==== Types ==== * Go is strict about explicit typing. ==== Constants ==== * Value must be known at compile time * Not sure what it means that "const" things have a "default" type until used * What does it mean that something is "untyped"? ===== Functions and Packages ===== ==== Functions ==== ==== Packages ==== ===== Conditional Statements and Loops ===== ==== if else statement ==== ==== Loops ==== ==== Switch Statement ==== ===== Arrays, Slices and Variadic Functions ===== ==== Arrays and Slices ==== ==== Variadic Functions ==== ===== More Types ===== ==== Maps ==== ==== Strings ==== ===== Pointers, Structures and Methods ===== ==== Pointers ==== ==== Structures ==== ==== Methods ==== ===== Interfaces ===== ==== Interfaces I ==== ==== Interfaces II ==== ===== Concurrency ===== ==== Introduction to Concurrency ==== ==== Goroutines ==== ==== Channels ==== ==== Buffered Channels and Worker Pools ==== ==== Select ==== ==== Mutex ==== ===== Object Oriented Programming ===== ==== Structs instead of Classes ==== ==== Composition instead of inheritance ==== ==== Polymorphism ==== ===== Defer and Error Handling ===== ==== Defer ===== ==== Error Handling ==== ==== Custom Errors ==== ==== Panic and Recover ==== ===== First Class Functions ===== ===== Reflection ===== ===== File Handling ===== ==== Reading files ==== ==== Writing files ==== golangbot_tutorial.txt Last modified: 2019/08/27 10:52by rpjday