GotchiCode needs JavaScript for the code editor and live challenges. Please enable it to play.
GotchiCode
Paths
Courses
Community
Arcade
Leaderboard
◂
Learn Go by Building a Battler
▾
Hello, Go
0/3
Hello, Trainer
10 XP
The Arena
15 XP
Reading a Compiler Error
10 XP
▾
Stats & Types
0/3
Starting HP
15 XP
Stat Line
20 XP
Changing Types
20 XP
▾
Functions & Multiple Returns
0/2
Attack Power
20 XP
Split the XP
25 XP
▾
Control Flow
0/5
Is It Fainted?
15 XP
Type Advantage
25 XP
Turns to Win
25 XP
A Counted Loop
25 XP
Switch It
25 XP
▾
Slices & Maps
0/3
Party HP
20 XP
The Strongest
25 XP
Move Power
25 XP
▾
Structs & Methods
0/2
Build a Creature
25 XP
A Method
25 XP
▾
Pointers
0/3
Heal in Place
30 XP
Double Up
25 XP
Damage Sticks
30 XP
▾
Methods & Receivers
0/3
A Value Method
25 XP
A Pointer Method
30 XP
Take Damage
30 XP
▾
Interfaces
0/2
Implement a Move
30 XP
The Best Move
30 XP
▾
Errors & the Capstone
0/2
Parse the Level
30 XP
Capstone: Simulate the Battle
45 XP
▾
Enums with iota
0/2
Numbered Types
30 XP
Printing an Enum
30 XP
▾
Formatting Output
0/3
Formatted Stat Line
25 XP
Health Percent
25 XP
A Padded Label
30 XP
▾
Variadic Functions
0/2
Sum Them All
25 XP
Strongest of Many
30 XP
▾
Working with Slices
0/3
Grow the Party
25 XP
The Front Line
25 XP
Send in the Rest
25 XP
▾
Working with Maps
0/3
Tally the Types
30 XP
Look It Up
30 XP
Forget a Move
25 XP
▾
Sentinel Errors
0/2
A Sentinel Error
25 XP
Check the Cause
30 XP
▾
Wrapping Errors
0/2
Wrap an Error
30 XP
Finding a Wrapped Error
30 XP
▾
Closures
0/2
A Counter Closure
30 XP
An Adder Factory
30 XP
▾
Sorting
0/3
Sort the Levels
25 XP
Strongest First
30 XP
Order the Party
30 XP
▾
Generics
0/3
A Generic Max
30 XP
Transform a Slice
35 XP
Does It Contain?
30 XP
▾
Encoding JSON
0/2
Encode to JSON
30 XP
Decode from JSON
30 XP
▾
Interfaces in Depth
0/2
The Attacker Interface
30 XP
What Is It?
30 XP
▾
Strings & strconv
0/3
Parse a Command
25 XP
Join the Roster
25 XP
Text to Number
25 XP
▾
Durations
0/2
Move Cooldown
25 XP
Back to Seconds
25 XP
▾
Embedding
0/2
A Promoted Field
30 XP
A Promoted Method
30 XP
▾
The math Package
0/2
Stat Distance
25 XP
The Higher Roll
25 XP
▾
Runes & Unicode
0/2
Counting Characters
30 XP
The First Letter
30 XP
▾
defer, panic & recover
0/2
Recover From a Panic
30 XP
Deferred Order
30 XP
▾
Goroutines & WaitGroups
0/2
Wait For All
30 XP
Damage in Parallel
30 XP
▾
Channels
0/3
A Signal Relay
30 XP
Tally Over a Channel
35 XP
Fan-In Sum
30 XP
▾
Mutexes
0/2
A Safe Counter
35 XP
The Shared Vault
35 XP
▾
The select Statement
0/2
Try to Receive
25 XP
Drain the Channel
30 XP
▾
Scanning Input with bufio
0/2
Scan the Lines
25 XP
Count the Words
30 XP
▾
Regular Expressions
0/2
Match a Name
25 XP
Extract the Level
30 XP
▾
The bytes Package
0/2
Build With a Buffer
25 XP
Shout in Bytes
25 XP
▾
Bit Manipulation
0/2
Status Flags
25 XP
Toggle a Flag
25 XP
▾
sync.Once & atomic
0/2
Run It Once
25 XP
An Atomic Counter
30 XP
▾
Context & Cancellation
0/2
Cancel a Context
25 XP
Stop on Done
30 XP
▾
Encoding: base64 & hex
0/2
Encode a Token
25 XP
Hex Digest
25 XP
▾
The slices & maps Packages
0/3
Sort a Copy
25 XP
Does It Contain?
20 XP
Sorted Map Keys
30 XP
▾
Sorting Custom Types
0/3
Implementing sort.Interface
25 XP
Stable Sorting
25 XP
Binary Search
25 XP
▾
Building Strings
0/3
Building With strings.Builder
20 XP
Formatting Into a Builder
20 XP
Writing Single Bytes
15 XP
▾
Text Templates
0/3
Filling a Template
25 XP
Looping in a Template
25 XP
Branching in a Template
25 XP
▾
Linked Lists
0/3
A Doubly Linked List
20 XP
Growing From the Front
20 XP
Removing While Walking
25 XP
▾
RWMutex & sync.Map
0/3
Readers and Writers
25 XP
A Concurrent Map
25 XP
First Writer Wins
25 XP
▾
Reading & Writing CSV
0/3
Reading CSV
20 XP
Pulling a Column
20 XP
Writing CSV
25 XP
▾
Joining Errors
0/3
Joining Errors
25 XP
Ignoring the nils
25 XP
Finding One Inside Many
20 XP
▾
More Slice Tools
0/3
Highest minus Lowest
20 XP
Where in the Line?
20 XP
Searching a Sorted Slice
25 XP
▾
Readers & Writers
0/3
Writing to a Buffer
20 XP
Copying a Stream
25 XP
Writing to Two Places
25 XP
▾
Binary Encoding
0/3
Packing a Number
25 XP
Unpacking a Number
20 XP
Four Bytes for Bigger Numbers
20 XP
▾
Text & Runes
0/3
Uppercasing a Rune
20 XP
Counting Letters
20 XP
Is It All Digits?
25 XP
▾
Calendar Dates
0/3
Formatting a Date
25 XP
Parsing a Date
25 XP
Which Weekday?
20 XP
▾
Save-File Paths
0/3
Joining Paths
20 XP
Taking Paths Apart
25 XP
Checking Extensions
25 XP
▾
Den Addresses
0/3
Parsing a URL
25 XP
Query Parameters
25 XP
Building a Query
30 XP
▾
Save Tokens
0/3
Base64
25 XP
Decoding Base64
25 XP
Hexadecimal
25 XP
▾
Numbers as Strings
0/3
Parsing in Any Base
25 XP
Formatting Floats
25 XP
Quoting Strings
25 XP
▾
Loot Rolls
0/3
Seeded Randomness
25 XP
Picking from a Slice
25 XP
Shuffling
30 XP
Loading lesson…