antitextbookGo-unofficialfork

antitextbookGo-unofficialfork

Adam Chalkley
Buy on Leanpub

Table of Contents

antitextbookGo-unofficialfork

  • Installation
    • System requirements
    • Install the Go tools
    • Uninstalling Go
    • Getting help
    • Links
  • Tools
    • The toolchain
  • Hello, Go
    • Why Go?
    • Links
  • Variables & Data structures
    • Variables
    • Constants
    • Elementary types
    • Underlying data structures
    • Important points
    • array, slice, map
  • Control statements and Functions
    • Control statements
    • Functions
  • Struct
    • Basics of Struct
    • Links
  • Object-oriented
    • Methods
    • Custom data types
    • Use pointer as receiver
    • Inheritance of method
    • Method overload
    • Links
  • Interface
    • What is an interface?
    • Types of Interface
    • Value of interface
    • Empty interface
    • Method arguments of an interface
    • Type of variable in an interface
    • Embedded interfaces
    • Reflection
    • Links
  • Concurrency
    • goroutine
    • channels
    • Buffered channels
    • Range and Close
    • Select
    • Timeout
    • Runtime goroutine
    • Links
  • Managing the Workspace
    • $GOPATH and $GOROOT
    • Packages
    • Internal deployment
    • Running a server
    • MVC Pattern
    • Links
  • Web Programming Basics
    • HTTP Methods
    • What is a template?
    • Static Files
    • Links
  • Basic web application
    • Handling URLs
    • Serving static files
    • Homework
    • Footnotes
    • Links
  • Designing our web app
    • The Design
    • Homework
    • Links
  • Using databases in Go
    • Creating and configuring database
    • Installing sqlite driver
    • Accessing the database
    • Importing driver
    • Retrieving Result Sets
    • Fetching Data from the Database
    • How Scan() Works
    • Preparing Queries
    • Single-Row Queries
    • Modifying Data and Using Transactions
    • Statements that Modify Data
    • Working with Transactions
    • Using Prepared Statements
    • Prepared Statements And Connections
    • Avoiding Prepared Statements
    • Prepared Statements in Transactions
    • Parameter Placeholder Syntax
    • Handling Errors
    • Working with NULLs
    • Working with Unknown Columns
    • The connection pool
    • Surprises, Antipatterns and Limitations
    • Database Encapsulation
    • Homework
    • Links
  • An Example
    • Homework
    • Links
  • Working with Forms
    • CSRF
    • Javascript
    • Forms in Go
    • Input Validation
    • Links
  • Uploading files
    • Links
  • Templates
    • template.Must
    • Sub templating
    • Looping through arrays
    • Template variables
    • Creating variables
    • Homework
    • Links
  • Authentication
    • Cookies
    • Sessions
    • Users
    • Links
  • Files
    • Homework
    • Links
  • Routing
    • From the documentation
    • Homework
    • Links
  • Middlewares
    • Example
    • Links
  • Building an API
    • JWT
    • Making an API call
    • Formatting a JSON document
    • Testing API
  • Writing a client
    • Getting the token
    • Error handling
    • Example
    • Advanced Usage
    • Homework
    • Links
  • Unit Testing
    • Validating the Status Code for edge cases
    • Incremental testing
    • Homework
    • Links
  • Version Control Basics
    • Using git
    • Branching
    • Remote
    • Links
antitextbookGo-unofficialfork/