Programming in Go



Kursarrangør: Glasspaper AS
Sted: Oslo, Helsfyr
Oslo
Kursadresse: Brynsveien 12, 0667 Oslo (kart)
Type:Åpent kurs / gruppeundervisning
Undervisningstid: kl 09:00 - 16:00
Varighet: 4 days
Pris: 23.900

Go, often referred to as Golang, is a programming language created at Google and publicly released in the year of 2009 as an open source project. Go is a statically compiled language, built to resemble C in form and function.

The story of Go begins as an internal Google experiment, to create a language which will address the flaws met in other programming languages by keeping only the “good parts”.

The initial idea behind creating Go was:
• Statically compiled, and allow developers to write large scalable systems (as in Java and C++)
• Productive and comprehensive, without the need of “boilerplate” code (like Python and Ruby)
• The act of writing Go applications should be IDE agnostic
• Go applications should compile fast
• Built-in support for network operations and multiprocessing

Go is an extremely easy language to learn. Its basic concepts are drawn to a minimum, and its syntax has been designed to be clean and unambiguous. Not long after Go was presented to the public, big key players in the industry started using it. Some companies even rewrote whole chunks of their platforms using Go. At this moment services build with it have been actively used and deployed at Google, Uber, Twitch, MongoDB, Netflix, Docker, and plethora of mixed size companies and startups.

Mostly used for building distributed systems and microservices, Go has become an irreplaceable tool. One of the key factors that prove that, are it’s growing community, and active development. In the past couple of years Go has always been in the top 10 programming languages that developers choose for their projects. It’s mix of simplicity, speed, and ability to act as a system language paved the path to where it is right now, and according to some, towards the future.

What you'll learn:
• Read and write Go code
• Have the knowledge on how to write everyday productivity tools
• Plan and set an environment for building web services
• Create applications that can be compiled and executed on different platforms
• Know how to develop concurrent applications
• Write their own, and use third-party libraries
• Know how to host their application, and some of the deployment options

Course outline:

Introduction to the Go programming language:
• History and reasons for creating Go
• Data types and variables
• Printing out results in the console
• Functions - Using control flow
• Working with arrays, slices and maps

Structs and pointers:
• Working with methods and interfaces
• Public and private members
• Inheritance

Working with strings:
• Handling errors
• Formatting error output

Parallel code execution:
• Working with goroutines
• Using channels

Creation and usage of packages:
• Naming conventions
• Structuring a project
• Installing and using third-party packages

Testing Go code:
• Unit testing
• Integration testing

Discovery of and fixing errors:
• Using a debugger

Code performance:
• Memory optimization
• CPU optimization

Working with the http package:
• Basics of the HTTP protocol
• Creating a HTTP server
• Making client HTTP calls

Working with JSON:
• Packing and unpacking JSON data
• Using JSON tags

Working with files:
• Create, delete, read and write files
• Using configuration files
• Using the YAML data format
• Usage of regular expressions
• Working with time

Audience:
• Anyone who bears the curiosity of how modern web services are built
• People who build their own productivity tools for in-house or public use
• People that want to change careers and get into backend and microservice development

Language: English

Vis flere tilsvarende kurs: