Learn Go programming

Learn Go programming

Satish Talim
Buy on Leanpub

Table of Contents

Learn Go programming

  • Preface
    • Who is the book for?
    • What will you learn?
    • Using code examples
    • What else should I read?
    • Acknowledgements
    • How to contact me
    • Thanks
  • How to use this eBook
  • 1. Introduction
    • 1.1 What is Go?
    • 1.2 Go Roots
    • 1.3 Go Recent History
    • 1.4 Go Authors
    • 1.5 Why Go?
  • 2. Learn Go programming
    • 2.1 Comments
    • 2.2 Statements
    • 2.3 Identifiers
    • 2.3.1 Blank identifier
    • 2.3.2 Pre-declared identifiers
    • 2.4 Keywords
    • 2.5 package
    • 2.6 import
    • 2.6.1 Aliasing of imports
    • 2.6.2 Removing explicit package reference
    • 2.7 functions
    • 2.8 String literal
    • 2.9 Numbers
    • 2.9.1 Integers
    • 2.9.2 Floating Point Numbers
    • 2.9.3 Some default values
    • 2.10 Console output
    • 2.10.1 Print and Println
    • 2.10.2 Formatting using Printf
    • 2.11 Console input
    • 2.12 Command-line arguments - Args
    • 2.13 Solutions
  • 3. Variables, Constants, and Types
    • 3.1 Variable
    • 3.2 Constants
    • 3.2.1 Typed and Untyped constants
    • 3.3 Named types
    • 3.4 Boolean types
    • 3.5 Operators
    • 3.5.1 Boolean Operators
    • 3.5.2 Arithmetic Operators
    • 3.6 Solutions
  • 4. Control Structures
    • 4.1 if-else
    • 4.2 goto statement
    • 4.3 switch
    • 4.3.1 fallthrough statement
    • 4.4 for loop
    • 4.5 Solutions
  • 5. More on Functions
    • 5.1 A function can have multiple return values. Some examples:
    • 5.2 A function can take zero or more arguments
    • 5.3 Named return values
    • 5.4 Variadic Functions
    • 5.5 Closures
    • 5.6 Recursion
    • 5.7 Solutions
  • 6. Detailed information
    • 6.1 Semicolons
    • 6.2 init
    • 6.3 Formatting
    • 6.4 More on Strings
    • 6.4.1 String functions
    • 6.5 defer
    • 6.6 Using the log package
    • 6.7 Using the big package
    • 6.8 go vet
    • 6.9 golint
    • 6.10 goimports
    • 6.11 Naming Convention Summary
  • 7. Arrays
  • 8. Pointers
    • 8.1 Solutions
  • 9. Structs
    • 9.1 Solutions
  • 10. Slices
    • 10.1 Slice Functions
    • 10.2 Slice internals
    • 10.3 Passing a slice to a function
  • 11. Range
    • 11.1 Variadic Functions using range
  • 12. Maps
  • 13. interface
    • 13.1 The interface{} type
    • 13.2 Solutions
  • 14. Error
  • 15. io, os and net/http - Getting started
    • 15.1 io
    • 15.2 os
    • 15.3 TCP and net/http
    • 15.3.1 Basic Networking
    • 15.3.2 Port
    • 15.3.3 Internet Addresses
    • 15.3.4 net/http
  • 16. Random Numbers
  • 17. File Handling
    • 17.1 Package ioutil
    • 17.2 Package os
    • 17.2.1 read_file_os1.go
    • 17.2.2 read_file_os2.go
    • 17.2.3 write_file_os.go
    • 17.2.4 read_dir_os.go
    • 17.3 Package bufio
    • 17.3.1 NewReader
    • 17.3.2 Peek
    • 17.3.3 NewWriter
    • 17.4 Solutions
  • 18. JSON and Go
    • 18.1 JSON
    • 18.2 Package json
    • 18.2.1 Encoding
    • 18.2.2 Struct tags
    • 18.2.3 Decoding
    • 18.2.4 Streaming Encoders and Decoders
    • 18.3 A Fun, Weather Forecast Go Web App
    • 18.3.1 Register for an account at Forecast for Developers
  • 19. TCP programming using Go
    • 19.1 TCP Sockets
    • 19.2 Package net
    • 19.2.1 TCP Client
    • 19.2.2 A Daytime server
  • 20. Concurrency
    • 20.1 Goroutines
    • 20.2 Channels
    • 20.2.1 Channel direction
    • 20.2.2 Unbuffered channel
  • 21. Additional Exercises
    • 21.1 Solutions
  • Appendix A
    • Downloading Go
    • Install the Go tools
    • Test your installation
    • Go Code Organization
    • Workspaces
    • The GOPATH environment variable
    • Package paths
    • Editing a Go program
    • A Go program
  • Appendix B - Project: redditnews for Baby Gophers
    • Use GitHub
    • Create an account
    • Set up Git
    • Complete Appendix A
    • redditnews.go (First Iteration)
  • Appendix B - Build, deploy webapps to cloud
    • Complete Appendix A
    • A basic Go web app
    • License
Learn Go programming/overview

Learn Go programming

course_overview

My study notes when I learned Go programming. I keep updating the same as my knowledge of Go deepens with time.

count_chapters
begin_reading
download
p_implied_book_part_name

Learn Go programming26 chapters

Begin ›
  1. Preface

  2. How to use this eBook

  3. 1. Introduction

  4. 2. Learn Go programming

  5. 3. Variables, Constants, and Types

  6. 4. Control Structures

  7. 5. More on Functions

  8. 6. Detailed information

  9. 7. Arrays

  10. 8. Pointers

  11. 9. Structs

  12. 10. Slices

  13. 11. Range

  14. 12. Maps

  15. 13. interface

  16. 14. Error

  17. 15. io, os and net/http - Getting started

  18. 16. Random Numbers

  19. 17. File Handling

  20. 18. JSON and Go

  21. 19. TCP programming using Go

  22. 20. Concurrency

  23. 21. Additional Exercises

  24. Appendix A

  25. Appendix B - Project: redditnews for Baby Gophers

  26. Appendix B - Build, deploy webapps to cloud