The Go Workshop

D'Anna, Delio, Hayes, Andrew, Hennessy, Sam




Key Features

  • Ideal for the Go beginner who is getting started for the first time
  • A step-by-step Go tutorial with exercises and activities that help build key skills
  • Structured to let you progress at your own pace, on your own terms
  • Use your physical print copy to redeem free access to the online interactive edition

Book Description

You already know you want to learn Go, and the smart way to learn anything is to learn by doing. The Go Workshop focuses on building up your practical skills so that you can develop high-performing concurrent applications, or even create Go scripts to automate repetitive daily tasks. You'll learn from real examples that lead to real results.

Throughout The Go Workshop, you'll take an engaging step-by-step approach to understanding Go. You won't have to sit through any unnecessary theory. If you're short on time you can jump into a single exercise each day, or you can spend an entire weekend learning how to test and secure your Go applications. It's your choice. Learning on your terms, you'll build up and reinforce key skills in a way that feels rewarding.

Every physical print copy of The Go Workshop unlocks access to the interactive edition. With videos detailing all exercises and activities, you'll always have a guided solution. You can also benchmark yourself against assessments, track your progress, and receive content updates. You'll even earn secure credentials that you can share and verify online upon completion. It's a premium learning experience that's included with your printed copy. To redeem it, follow the instructions located at the start of your Go book.

Fast-paced and direct, The Go Workshop is the ideal companion for Go beginners. You'll build and iterate on your code like a software developer, learning along the way. This process means that you'll find that your new skills stick, embedded as best practice. A solid foundation for the years ahead.

What you will learn

  • Get to grips with Go fundamentals and best practices
  • Learn how to effectively organize your code for production environments
  • Explore how third-party packages can help make you a better engineer
  • Keep your development process bug-free with unit tests and benchmarks

Who this book is for

Our goal at Packt is to help you be successful, in whatever it is you choose to do. The Go Workshop is an ideal Go tutorial for the Go beginner who is just getting started. Pick up a Workshop today, and let Packt help you develop skills that stick with you for life.



  • 適合初學者第一次接觸 Go 的人

  • 透過練習和活動來建立關鍵技能的逐步 Go 教程

  • 結構化的學習方式,讓您按照自己的節奏和方式進行學習

  • 使用實體印刷版本兌換免費線上互動版的訪問權限


您已經知道您想要學習 Go,而學習任何事物的聰明方法就是實踐學習。《Go Workshop》專注於培養您的實踐技能,以便您可以開發高效的並發應用程序,甚至創建用於自動化重複日常任務的 Go 腳本。您將從真實的示例中學習,並獲得實際的結果。

在《Go Workshop》中,您將採用引人入勝的逐步方法來理解 Go。您不需要花時間學習任何不必要的理論知識。如果您時間不多,您可以每天進行一個練習,或者您可以花整個週末學習如何測試和保護您的 Go 應用程序。這是您的選擇。按照您的方式學習,您將以一種有成就感的方式建立和鞏固關鍵技能。

《Go Workshop》的每一本實體印刷版本都可以解鎖互動版的訪問權限。通過詳細介紹所有練習和活動的視頻,您將始終獲得引導解決方案。您還可以通過評估來對自己進行評估,追踪自己的進度並獲得內容更新。您甚至可以在完成後在線共享和驗證安全憑證。這是一種高級學習體驗,包含在您的印刷版本中。要兌換它,請按照《Go Workshop》書籍開頭的說明進行操作。

《Go Workshop》節奏快速且直接,是初學者的理想伴侶。您將像軟件開發人員一樣建立和迭代代碼,並在學習的過程中不斷進步。這個過程意味著您將發現您的新技能成為最佳實踐的一部分,並牢固地根植下來。為未來打下堅實的基礎。


  • 熟悉 Go 的基礎知識和最佳實踐

  • 學習如何有效組織您的代碼以適應生產環境

  • 探索第三方套件如何幫助您成為更好的工程師

  • 通過單元測試和基準測試保持您的開發過程無錯誤


Packt 的目標是幫助您在您選擇的任何領域取得成功。《Go Workshop》是一本適合初學者的理想 Go 教程,讓您可以輕鬆入門。立即購買《Go Workshop》,讓 Packt 幫助您發展終身受用的技能。


Delio D'Anna is an experienced software engineer with a company experience mainly developed working on web applications. Although he has been working mostly under a LAMP stack on the back-end side and with JavaScript on the front end, he is interested in a wide range of languages/technologies and always open to learn/apply what comes new from the IT world. His programming background started with the study of algorithms and artificial intelligence but his working career proceeded in the open source world programming high traffic websites in php/MySQL/Postgres/JavaScript.

Andrew Hayes has 8+ years of experience as a software engineer, including 3 years working with Go. Andrew has worked in a number of areas within the software industry, some which include storage, networking, DevOps, and cloud. He enjoys sharing knowledge by creating tutorials online and speaking at conferences. In his spare time he enjoys camping and fishing.

Sam Hennessy started working as a software developer in 2002, switching over to using Go for all his projects in 2015. He's worked at start-ups, agencies, and Fortune 500s. His passion for sharing knowledge leads him to write blogs, books, and present at user groups and conferences. Sam also works as an instructor, teaching Go and other topics. Sam's favorite thing is being at home, watching a good film, with his family and his dog Waffles.

Jeremy Leasor has over 20 years of IT experience, including 3 years as a security engineer developing Go libraries for attack surface analysis, stig/fisma data imports, and various other utilities,10 years as a lead database administrator (SQL Server) of mission essential system environments, and 8 years as a developer DBA and .NET developer all within the government domain. He enjoys creating various utilities in Go outside of the office hours. In his free time, he enjoys spending time with the family, camping, coaching his kid's soccer team and getting demolished by his kids in Smash Brothers.

Gobin Sougrakpam started in IT as a Systems Integration Developer for large scale enterprises. His love for automation see him move into a Software Developer role. He currently works as Golang developer, creating automation solutions for Infrastructure platforms like VMware and AWS. Gobin enjoys playing his guitar in his free time.

Dániel Ern Szabó is a 28-year-old IT geek. He is currently working as a DevOps engineer for an American company in Hungary. His main profile is automation and custom solutions based on different languages covering Windows and Linux. His favorite language is Python, but he is also fluent in Ruby, PowerShell, and C#. He loves learning, teaching, and sharing his knowledge with other people. In his free time, he is a YouTuber and a ferret owner.



Delio D'Anna 是一位有豐富經驗的軟體工程師,主要在網路應用程式開發方面有公司經驗。儘管他在後端主要使用 LAMP 技術堆疊,前端使用 JavaScript,但他對各種語言和技術都感興趣,並且始終樂於學習和應用IT世界的新知。他的程式設計背景始於算法和人工智慧的研究,但他的職業生涯在開源世界中進行,使用php/MySQL/Postgres/JavaScript編寫高流量網站。

Andrew Hayes 是一位有8年以上軟體工程師經驗的專業人士,其中有3年的Go語言開發經驗。Andrew 在軟體行業的多個領域工作過,包括存儲、網路、DevOps和雲端。他喜歡通過在線創建教程和在會議上演講來分享知識。在閒暇時間,他喜歡露營和釣魚。

Sam Hennessy 於2002年開始從事軟體開發工作,並於2015年開始在所有項目中使用Go語言。他曾在初創公司、代理商和財富500強公司工作。他熱衷於分享知識,撰寫博客、書籍,並在用戶組和會議上發表演講。Sam還擔任教師,教授Go語言和其他主題。Sam最喜歡的事情是在家中與家人和他的狗Waffles一起觀賞一部好電影。

Jeremy Leasor 擁有超過20年的IT經驗,其中包括3年作為安全工程師開發Go庫進行攻擊面分析、stig/fisma數據導入和其他各種實用工具,10年擔任使命必達系統環境的首席數據庫管理員(SQL Server),以及8年作為開發人員DBA和.NET開發人員,所有這些都在政府領域內。他喜歡在辦公時間以外的時間創建各種Go實用工具。在空閒時間,他喜歡與家人共度時光,露營,擔任孩子的足球隊教練,並在Smash Brothers遊戲中被孩子們擊敗。

Gobin Sougrakpam 在IT行業開始時是大型企業的系統整合開發人員。他對自動化的熱愛使他轉向軟體開發人員角色。他目前擔任Golang開發人員,為VMware和AWS等基礎架構平台創建自動化解決方案。Gobin在空閒時間喜歡彈奏吉他。

Dániel Ern Szabó 是一位28歲的IT愛好者。他目前在匈牙利的一家美國公司擔任DevOps工程師。他的主要領域是基於不同語言的自動化和定制解決方案,涵蓋Windows和Linux。他最喜歡的語言是Python,但他也精通Ruby、PowerShell和C#。他熱愛學習、教學,並與他人分享知識。在空閒時間,他是一位YouTuber和一只貂的主人。


  1. Variables and Operators
  2. Logic and Loops
  3. Core Types
  4. Complex Types
  5. Functions
  6. Errors
  7. Interfaces
  8. Packages
  9. Basic Debugging
  10. About Time
  11. Encoding and Decoding (JSON)
  12. Files and Systems
  13. SQL and Databases
  14. HTTP Clients
  15. HTTP Servers
  16. Concurrent Work
  17. Tools
  18. Security
  19. Special Features
  20. Testing


- 變數和運算符
- 邏輯和迴圈
- 核心類型
- 複雜類型
- 函數
- 錯誤
- 介面
- 套件
- 基本除錯
- 關於時間
- 編碼和解碼(JSON)
- 檔案和系統
- SQL和資料庫
- HTTP客戶端
- HTTP伺服器
- 並行工作
- 工具
- 安全性
- 特殊功能
- 測試