JavaRush
AI Academy
new
Promotion
Learning
Courses
Tasks
Quizzes
Games
Help
Schedule of nudges
Internship
Community
Users
Forum
Chat
Articles
Activities
Reviews
Subscriptions
Light theme

Lectures

  • Reviews
  • About us
  • CS50
Start
Start learning
Start learning
  • My progress
  • Courses
  • Quest map
  • Lectures
  • Review: slices/maps and common mistakes

    Go SELF
    20 level,0 lecture
    We revisit the most treacherous parts of Go: the slice model as a “window” into an array (header: pointer/ len/ cap), why you must store the result of append, how a nil slice differs from an empty one, how to control aliasing via a full slice expression ( s[a:b:c]), and where copy helps. For maps: rules about nil maps, the v, ok := m[k] idiom, and stable output via sorting keys.
    Open
  • Review: strings and input normalization

    Go SELF
    20 level,1 lecture
    We break down Go’s string model as a sequence of bytes in UTF-8: how len, indexing, and range differ, why byte is not a “character”, and why rune is not always “what the user sees”. Then we build practical input normalization at the boundary: strings.TrimSpace, strings.Fields, strings.Join, case handling via strings.ToLower, and comparisons via strings.EqualFold. Finally: command parsing, searching ( strings.Contains), building strings with strings.Builder, and debugging strings by printing with %q.
    Open
  • Review — errors and early returns in Go

    Go SELF
    20 level,2 lecture
    We break down the “go-way” of error handling: why error is just a regular value, how to read the contract func X(...) (T, error), why an early return and guard clauses matter, how to add context via fmt.Errorf with %w, and how to properly check root causes with errors.Is/ errors.As. We’ll also look at errors.Join, a mermaid execution-flow diagram, and a mini TaskBox example built on a map.
    Open
  • Review — pointers and value semantics

    Go SELF
    20 level,3 lecture
    We break down Go’s key idea: everything is passed by value, and a pointer is just a value-address. Using examples, we’ll see how the & and * operators work, why slice and map “already reference things”, what the difference is between new, make, and nil, and what traps show up in loops and with append. We’ll reinforce “value semantics” with a mini task-list logic using nextID, map, and slice.
    Open
  • Data modeling

    Go SELF
    20 level,4 lecture
    We break down how to model data in Go so that errors “can’t happen”: we lock in invariants (for example, id > 0), introduce domain types ( TaskID, TaskTitle, Status), create factory functions with the (T, error) contract, normalize input via TrimSpace/ Fields, and keep validation at the system boundary (for example, stdin). We will also compare “parallel slices” with storing data via a map and discuss common mistakes.
    Open
Learn
  • Registration
  • Java course
  • Help with tasks
  • Pricing
Community
  • Users
  • Articles
  • Forum
  • Chat
  • Activities
Company
  • About us
  • Contacts
  • Reviews
  • FAQ
  • Support
JavaRushJavaRush — is an interactive online course for learning Java programming from scratch. It contains 1200 practical tasks with one-click solution checking, the necessary minimum of theory on Java basics, and motivating features that help you complete the course: games, quizzes, interesting projects and articles on effective learning and the career of a Java developer.
Follow us
Язык интерфейса
Русский
English
Українська
"Programmers are not born" © 2026 JavaRush
MastercardVisa
"Programmers are not born" © 2026 JavaRush