Mastering Go Programming

Video description

Master programming with Go by learning how to write idiomatic, effective code

About This Video

  • Program like a seasoned expert with one of the great new programming languages

  • Write idiomatic Go the right way, and understand the fundamental mechanics of the language in depth

  • Understand how to develop powerful performant applications and services with Go

  • In Detail

    Go has moved from the state of tentative to mass adoption. Its C-like speed, simplicity, and power for a growing number of systems level programming domains make it an attractive option for programmers working with older cumbersome, statically typed languages. Golang has entered the space as an entirely viable language for accomplishing a huge array of low level programming and service infrastructure tasks.

    This video course not only gives you a deep insight into the fundamental mechanics behind the language, but also covers extensive practical topics on Go for modern software architectures. It shows you how to write Go in an intelligent, idiomatic way. After a brief re-acquaintance with the key building blocks of Go, we will also explore how we can build upon the unique capabilities of the language to write effective, powerful code you can employ to develop software. We look at packages, object-oriented programming, concurrency and reflection among other things. Moreover, you will learn about Go’s awesome built-in testing support feature. Along the way, build your skills in File handling techniques, Go packages for databases, data serialization approaches, message communications between Go services, and Go web applications. Get your hands on with a plenty of illustrative code samples, exercises and real-world scenarios that will help you build your own application.

    By the end of this course, you will be taught how to put this enhanced knowledge to build a real-world Spaceship application all by yourself with amazing features.

    Audience

    This video is for experienced programmers with a background in any other language—this being from Ruby to C or JavaScript. If you are a fast learner who is well versed in the programmatic logic with a bit of basic understanding in Go, this course is for you.

    Publisher resources

    Download Example Code

    Table of contents

    1. Chapter 1 : Introduction
      1. The Course Overview
      2. Welcome to the World of Go!
      3. How to Write Go Code?
      4. Let’s Build a Rest API Client in Go!
    2. Chapter 2 : Key Building Blocks
      1. Packages, Variables, and Functions
      2. Flow Control
      3. Applying Your New Knowledge – Binary Search Algorithm
      4. Structs, Slices, and Maps
      5. Applying Your New Knowledge – Let’s Create a Set
    3. Chapter 3 : Advanced Building Blocks
      1. Slicing Slices
      2. Methods and Interfaces – Linked List Data Structure Implementation
      3. Concurrency in Go – goroutines
      4. Concurrency in Go – Channels
      5. Concurrency in Go – Select
      6. Errors and Troubleshooting
      7. A Tour into Go’s Packages
      8. Project Hydra –Write the First Piece of the Spaceship Web Server
    4. Chapter 4 : Object-Oriented Patterns in the Go World
      1. A Closer Look at Interfaces and Methods in Go 1
      2. A Closer Look at Interfaces and Methods II
      3. Factory Design Pattern in Go
      4. The Singleton Pattern –Building the Hydra Custom Logger
      5. Builder Pattern in Go – Construct the Ship’s Defense Shields
    5. Chapter 5 : Go Master Topics
      1. Syncs and Locks
      2. Timers and Tickers
      3. Channel Generators
      4. Pipelines –Build the Hydra Chat System
      5. Pipelines – Build the Hydra Chat System (Continued)
      6. Go Laws of Reflection
      7. Reflection on Structs and Interfaces
      8. Hydra – Custom Configuration File Reader
    6. Chapter 6 : Go Testing
      1. Unit Testing in Go
      2. Benchmarking in Go
      3. Practices, Cross-Compilation, and the Go Tool
    7. Chapter 7 : Files
      1. File Handling in Go
      2. Go and JSON Format
      3. Go and the XML Format
      4. 7_4_T
    8. Chapter 8 : Databases
      1. Go with MySQL
      2. Go with MongoDB I
      3. Go with MongoDB II
      4. Go with BoltDB
      5. Building Hydra’s Database Interface
    9. Chapter 9 : Communications
      1. TCP communication – Clients
      2. TCP Communication – Servers
      3. UDP Communications
      4. Protocol Buffers with Go
      5. Hydra Protocol Buffer Layer
    10. Chapter 10 : Web Applications in Go
      1. Web Server Applications in Go
      2. Client and RESTful API Application in Go
      3. Build Hydra’s RESTful API I
      4. Build Hydra’s RESTful API II
      5. Building the Hydra Website – Templates
      6. Building the Hydra Website – Backend
      7. Hydra Chat Portal I
      8. Hydra Chat Portal II
      9. Web Security

    Product information

    • Title: Mastering Go Programming
    • Author(s): Mina Andrawos
    • Release date: January 2017
    • Publisher(s): Packt Publishing
    • ISBN: 9781786468239