O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

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.

    Table of Contents

    1. Chapter 1 : Introduction
      1. The Course Overview 00:12:33
      2. Welcome to the World of Go! 00:11:52
      3. How to Write Go Code? 00:18:14
      4. Let’s Build a Rest API Client in Go! 00:18:33
    2. Chapter 2 : Key Building Blocks
      1. Packages, Variables, and Functions 00:12:22
      2. Flow Control 00:06:20
      3. Applying Your New Knowledge – Binary Search Algorithm 00:10:20
      4. Structs, Slices, and Maps 00:10:46
      5. Applying Your New Knowledge – Let’s Create a Set 00:05:26
    3. Chapter 3 : Advanced Building Blocks
      1. Slicing Slices 00:14:44
      2. Methods and Interfaces – Linked List Data Structure Implementation 00:17:11
      3. Concurrency in Go – goroutines 00:07:40
      4. Concurrency in Go – Channels 00:13:49
      5. Concurrency in Go – Select 00:07:46
      6. Errors and Troubleshooting 00:13:54
      7. A Tour into Go’s Packages 00:15:50
      8. Project Hydra –Write the First Piece of the Spaceship Web Server 00:06:52
    4. Chapter 4 : Object-Oriented Patterns in the Go World
      1. A Closer Look at Interfaces and Methods in Go 1 00:23:04
      2. A Closer Look at Interfaces and Methods II 00:10:45
      3. Factory Design Pattern in Go 00:11:59
      4. The Singleton Pattern –Building the Hydra Custom Logger 00:10:32
      5. Builder Pattern in Go – Construct the Ship’s Defense Shields 00:06:13
    5. Chapter 5 : Go Master Topics
      1. Syncs and Locks 00:26:58
      2. Timers and Tickers 00:20:09
      3. Channel Generators 00:05:58
      4. Pipelines –Build the Hydra Chat System 00:28:20
      5. Pipelines – Build the Hydra Chat System (Continued) 00:29:20
      6. Go Laws of Reflection 00:34:53
      7. Reflection on Structs and Interfaces 00:32:50
      8. Hydra – Custom Configuration File Reader 00:31:31
    6. Chapter 6 : Go Testing
      1. Unit Testing in Go 00:24:26
      2. Benchmarking in Go 00:11:38
      3. Practices, Cross-Compilation, and the Go Tool 00:12:16
    7. Chapter 7 : Files
      1. File Handling in Go 00:25:25
      2. Go and JSON Format 00:32:47
      3. Go and the XML Format 00:34:17
      4. 7_4_T 00:20:05
    8. Chapter 8 : Databases
      1. Go with MySQL 00:27:52
      2. Go with MongoDB I 00:21:29
      3. Go with MongoDB II 00:21:32
      4. Go with BoltDB 00:22:42
      5. Building Hydra’s Database Interface 00:21:58
    9. Chapter 9 : Communications
      1. TCP communication – Clients 00:20:37
      2. TCP Communication – Servers 00:18:56
      3. UDP Communications 00:36:18
      4. Protocol Buffers with Go 00:37:18
      5. Hydra Protocol Buffer Layer 00:38:36
    10. Chapter 10 : Web Applications in Go
      1. Web Server Applications in Go 00:42:32
      2. Client and RESTful API Application in Go 00:36:25
      3. Build Hydra’s RESTful API I 00:22:53
      4. Build Hydra’s RESTful API II 00:26:21
      5. Building the Hydra Website – Templates 00:34:53
      6. Building the Hydra Website – Backend 00:27:21
      7. Hydra Chat Portal I 00:32:16
      8. Hydra Chat Portal II 00:47:00
      9. Web Security 00:38:08