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
  • string as immutable bytes

    Go SELF
    14 level,0 lecture
    We break down the string model in Go: why string is a sequence of bytes, why strings are immutable, what expressions len ( s ), s [ i ], and s [ a : b ] actually return, how to avoid panic: index out of range, and how to “modify” a string correctly—by creating a new one. In practice, we will write an ASCII function titleASCII() and learn to diagnose strings by printing them byte by byte.
    Open
  • rune and iterating over a string with range: length in bytes vs runes

    Go SELF
    14 level,1 lecture
    In this lecture, we will break down why for strings in Go len(s) counts UTF‑8 bytes rather than “letters”, what the rune type is (an alias for int32), and how a for loop with range decodes a string into runes, returning the byte index and the character. In practice, we will learn how to count “length in characters”, safely take a prefix of the first N runes (without [] rune), and avoid common mistakes like s[0] on UTF‑8 strings and slicing a string at invalid boundaries.
    Open
  • Conversions of []byte and []rune and when they are appropriate

    Go SELF
    14 level,2 lecture
    We break down how strings ( string) are implemented in Go and why they are immutable; how the representations []byte (UTF-8 bytes) and []rune (Unicode code points) differ; what exactly indexing s [ i ] returns; why conversions []byte(s)/ []rune(s) copy the data; and how to choose the right approach for “technical” replacements (for example, "\t", "\n") and for “character-by-character” operations (Cyrillic/Unicode).
    Open
  • strings and bytes: Trim/Split/Join and Builder/Buffer

    Go SELF
    14 level,3 lecture
    We break down practical string and byte operations in Go: how to normalize input using strings/ bytes, apply TrimSpace, Split, and Join, and how to efficiently build a result without concatenation via +—using strings.Builder and bytes.Buffer. Separately, we will reinforce the difference between calling a package function (for example, fmt. Println) and calling a method on a value (for example, b. WriteString).
    Open
  • Debugging strings: %q and controlling “dirty” input

    Go SELF
    14 level,4 lecture
    Let’s break down how to diagnose “dirty” input in Go: why fmt.Println() can hide characters, how to print strings with an “X-ray” via fmt.Printf() using the %q format, how to view exact bytes via []byte, iterate over Unicode as runes via range, and normalize input using strings.TrimSpace() after reading with ReadString('\n'). At the end: common mistakes and a quick algorithm for finding invisible "\r"/ "\n"/ "\t".
    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