Implement Prototype(text string) (TextStats,error) with straightforward independent scans; Solve validates UTF-8 then performs one rune-category scan. Return byte length, rune count, Unicode letter count, Unicode digit count. Invalid UTF-8 returns nonnil error and zero TextStats. Empty text returns all zeros. Combining marks are not letters; U+FFFD literal and emoji are valid runes. Do not normalize or change input. Final time O(byte length), O(1) auxiliary space; Bytes/Runes count their stated units.

Edit exercise.go; retain the public types and signatures. prototype and final are separate stages. The executable tests recover panics as failures, report named checks, and exit nonzero on any failure. A successful run must execute at least one check. Tests use logical time or explicit synchronization where relevant.

Drag or use the arrow keys to resize. Home collapses the question; End collapses the editor. Enter or double-click resets the split.
Loading editor…
No results yet.

Complete the starter code, then run the checks.
Results and errors will appear here.