Day 1: Understand Go fundamentals and structure first programs
5 topics, Tap to openTap to close
10:00–11:00Assess Go and Its Use Cases
Go combines static typing with a compact language and tooling for compiled applications. You examine its central design choices, package model, and common roles in backend and cloud projects. The focus is on fast compilation, static typing, and built-in concurrency as related foundations of the language.
11:00–12:00Apply Modules and Go Tooling
Go organizes related packages in modules and exposes development tasks through one consistent tool. The DevNinjas Dojo, our cloud learning environment, provides the setting where you create a module and use the toolchain to build, run and format source code. You examine how the module path, package name and exported identifiers form a traceable project foundation.
13:00–14:00Use Types and Control Flow
Static types expose certain type errors during compilation; explicit control flow makes program flow easier to follow. You work with variables, constants, pointers, conditions, selection, and loops while examining type inference and zero values. In the lab environment, you change a program incrementally and observe what feedback the compiler and runtime provide for each decision.
14:00–15:00Structure Functions and Packages Clearly
Go functions can return several values, which shapes interfaces and error paths. You use parameters, return values, variadic functions, and closures, then distribute responsibilities across suitable packages. In the cloud lab, you revise a small application and assess which names, visibility boundaries, and function signatures make its structure understandable to other developers.
15:00–16:00Process Slices, Maps, and Strings
Slices represent variable-length sequences, maps organize values by key, and Unicode strings require a deliberate distinction between bytes and runes. You process a small dataset with these structures and compare access, mutation, and iteration. In the lab environment, you select a suitable representation for different tasks and explain the reasoning behind that choice.

